请求后是否可以在下一个代码行中获取 Ajax 响应

Is it possible to get Ajax response in next code line after request?

本文关键字:获取 Ajax 响应 代码 下一个 是否 请求      更新时间:2023-09-26

少年问题,我知道。但是有没有可能的方法可以在函数中间进行 Ajax 调用,然后在同一个函数中使用响应?

没有任何简单的解决方案,但如果你能提出任何复杂的解决方案,那就太好了。

代码示例:

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

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

只需使用回调方法。

为其使用回调函数:

function test(){
    //ajaxcall here, with a callback function to callback()
}
function callback(){
    // do the thing you want here
}

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

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