Javascript Jquery Ajax没有拾取options参数中指定的函数回调
我有下面的js函数,我遇到了一个问题,成功回调从未被调用。我在chrome debugger中浏览了相关的JQuery代码,它在options参数中拾取header对象,但没有回调,例如success、done、always和error。它只是跳过了它们,我不知道为什么。我已经尝试将url指定为选项中的一个条目,并按照我的预期选择它Javascript Jquery Ajax没有拾取options参数中指定的函数回调,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有下面的js函数,我遇到了一个问题,成功回调从未被调用。我在chrome debugger中浏览了相关的JQuery代码,它在options参数中拾取header对象,但没有回调,例如success、done、always和error。它只是跳过了它们,我不知道为什么。我已经尝试将url指定为选项中的一个条目,并按照我的预期选择它 Forex.getInstrumentList = function(){ var response; $.ajax("https://api-fxprac
Forex.getInstrumentList = function(){
var response;
$.ajax("https://api-fxpractice.oanda.com/v1/instruments?accountId=" + Forex.selectedAcct,
{
success: function(data, err, jqXHR){
if(err){
console.log(err);
return;
}
response = data;
},
headers: {
Authorization: "Bearer notMyrealkey345234234wstd3451345"
}
});
return response; //JSON
}
我从调试器中获取了以下内容,如您所见,success函数甚至不在options参数中。我不知道从哪里或如何开始修复此问题,因此非常感谢您的帮助
以及$.ajax函数的选项参数值
url = "https://api-fxpractice.oanda.com/v1/instruments?accountId=4161836", options = Object {headers: Object}
因此,jQuery在需要运行回调之前不会读取回调。由于它是一个AJAX调用,并且默认情况下
async
是true
,因此调试器在执行web请求时会逐步执行该调用,然后仅在请求完成后返回到success函数。如果您将async
选项设置为false
,那么它将被修复,因为它将阻塞,直到您真正获得响应为止。如果不这样做,它将返回null,因为success函数没有运行,因此没有修改response
重复的“not callbacks,比如success、done、always和error”-其中三个没有出现在问题的代码中。尝试添加数据类型:“json”
,如果(!err){console.log(err);一点意义都没有。我尝试过所有这些,但都没有效果。我只需要成功,所以我发布了赤裸裸的版本。