当前位置: 首页 > 面试题库 >

如何返回AJAX响应文本?[重复]

谷梁凌
2023-03-14
问题内容

这个问题已经在这里有了答案

如何从异步调用返回响应? (39个答案)

6年前关闭。

我使用原型进行AJAX开发,并使用如下代码:

somefunction: function(){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
            }
        }
    });
    return result;
}

而且我发现“结果”是一个空字符串。所以,我尝试了这个:

somefunction: function(){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
                return result;
            }
        }
    });

}

但这也没有用。如何获取responseText供其他方法使用?


问题答案:

请记住,在someFunction完成工作后很久才调用onComplete。您需要做的是将回调函数作为参数传递给somefunction。当进程完成工作时(即onComplete),将调用此函数:

somefunction: function(callback){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
                callback(result);
            }
        }
    });

}
somefunction(function(result){
  alert(result);
});


 类似资料:
  • 问题内容: 我使用原型进行AJAX开发,并且使用如下代码: 而且我发现“结果”是一个空字符串。所以,我尝试了这个: 但这也没有用。如何获取responseText供其他方法使用? 问题答案: 请记住,在someFunction完成工作后很久才调用onComplete。您需要做的是将回调函数作为参数传递给somefunction。当进程完成工作时(即onComplete),将调用此函数:

  • 问题内容: 我正在发送一个jQuery get请求,如下所示: 我希望收到的响应将包装在脚本标签中。 我了解浏览器不会执行响应,除非返回的返回结果没有脚本标签。通常,我会从响应中删除标签,但是在这种情况下,我无权访问在远程计算机上运行的代码,因此无法从源代码剥离标签。 有没有办法我可以从响应客户端剥离脚本标签并执行javascript? 问题答案: 您应该能够执行以下操作:

  • 问题内容: 想象一下我运行这个: 在/ajax/watch.php内部,假设我有这个: 并且alert(responseText)返回: 而不是我需要的文本字符串。有什么帮助吗? 问题答案: 看起来您的jQuery以某种方式返回了XMLHttpRequest对象,而不是您的响应。 如果是这种情况,则应请求其属性,如下所示: 但是,如果这不起作用,则可能实际上是在接收JSON响应,并且您看到的可能是

  • 我正在试用新的Spring 4.0@RestController,以从控制器返回一个简单的文本响应: 当我访问/心跳时,我返回: 结果包括双引号,这是我没有想到的。 当我访问/heartbeat/test时,我会得到一个空响应,但我希望我还活着!文本 使现代化 卷曲-ihttp://myserver.com/rest/heartbeat HTTP/1.1 200 OK内容类型:applicatio

  • 问题内容: 我正在向我的jQuery发送错误响应。但是,我无法获得响应文本(在下面的示例中,这将成为 “去海滩” ) jQuery唯一说的是“错误”。 有关详细信息,请参见以下示例: 的PHP jQuery的 现在我的结果是: 日志: 警报: 无法执行,因为:错误 有任何想法吗? 问题答案: 尝试:

  • 我使用Guzzle发出一个异步请求,返回JSON。呼叫工作正常,响应正常,但是: 如果我回应- 我需要使用 JSON 来验证来自服务的响应。我该怎么做?我已经浏览了文档,但我显然错过了一些东西。 本质上类似于将json getbody输出分配给$json: 感谢任何帮助问候