0

少年的问题,我知道。但是有没有办法在函数中间进行 Ajax 调用,然后在 The Same Function 中处理响应?

没有任何简单的解决方案,但如果你能提出任何复杂的解决方案,那将是非常好的。

代码示例:

function getSomeAjax(){ 
    var params = prepareRequestParams();
    //do some ajax magic here and get ajaxResponseData
    return ajaxResponseData;
}
4

3 回答 3

3

并非没有摆脱 Ajax 中的 A。您可以使用同步请求而不是异步请求(将第三个参数设置为xhr.open()to false),但这会锁定所有 JS 处理,直到响应返回,所以这是一个糟糕的主意。

只需使用回调方法。

于 2012-04-19T08:17:39.377 回答
1

使用回调函数:

function test(){
    //ajaxcall here, with a callback function to callback()
}

function callback(){
    // do the thing you want here
}
于 2012-04-19T08:17:50.313 回答
1

您没有提到是否要使用同步。或同步。打电话。
使用异步。可能导致您在尝试返回 ajaxReponseData 后会从服务器获得答案,因此使用同步。打电话是最简单的方法。

当然,我必须警告你,同步。调用 Ajax 会导致客户端浏览器在等待应答时冻结,因此如果您认为必须使用同步,则应重新考虑设计。版本。

于 2012-04-19T08:21:37.223 回答