少年问题,我知道。 但是有没有办法在函数中间调用Ajax,然后使用相同函数中的响应?
没有任何简单的解决方案,但如果你能提出任何复杂的解决方案,那将是非常好的。
Codesample:
function getSomeAjax(){
var params = prepareRequestParams();
//do some ajax magic here and get ajaxResponseData
return ajaxResponseData;
}
答案 0 :(得分:3)
并非没有摆脱Ajax中的A.您可以使用同步请求而不是异步请求(将xhr.open()
的第三个参数设置为false
),但这会锁定所有JS处理,直到响应返回,这是一个糟糕的主意。 / p>
只需使用回调方法。
答案 1 :(得分:1)
为它使用回调函数:
function test(){
//ajaxcall here, with a callback function to callback()
}
function callback(){
// do the thing you want here
}
答案 2 :(得分:1)
您没有提及是否要使用同步。或同步。呼叫。
使用asynch。可能会导致您在尝试返回ajaxReponseData后从服务器获得答案,因此使用synch。打电话是最简单的方法。
我当然要警告你,同步。调用Ajax会导致客户端浏览器在等待应答时冻结,因此如果认为必须使用同步,则应重新考虑设计。版本