gpt4 book ai didi

javascript - 使用 jQuery 进行同步 ajax 调用的未弃用方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:55:38 24 4
gpt4 key购买 nike

我有一个小的 javascript 函数,它的唯一目的是调用脚本从数据库中获取一些数据,以便客户端的其他函数可以使用它。

我正在使用 jQuery 调用来获取数据,但是为了将对象传递到成功函数范围之外,我需要关闭异步,这会引发弃用警告。

我的功能目前按预期工作,但我想使用未弃用的方法。这是我的功能:

function getData(ID) {
var Data = {};
$.ajax({
url: 'script',
method: 'POST',
dataType: 'json',
async: false,
data: {action: 'get', id: ID },
success: function(response) {
Data = response;
})
});
return Data;
}

出于隐私原因,我更改了变量名称,如果它们含糊不清,我们深表歉意。

还有为什么同步调用被认为对最终用户体验有害?

最佳答案

由于 AJAX 调用是异步,您将始终得到空白对象 ({}) 作为响应。

有两种方法。

  1. 你可以做 async:false
  2. 要获得在 AJAX 调用中返回的响应,请尝试使用以下代码。等待服务器响应。

function getData(ID) {
return $.ajax({
url: 'script',
method: 'POST',
dataType: 'json',
//async: true, //default async call
data: {action: 'get', id: ID },
success: function(response) {
//Data = response;
})
});
}


$.when(getData(YOUR_ID)).done(function(response){
//access response data here
});

关于javascript - 使用 jQuery 进行同步 ajax 调用的未弃用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44644114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com