等待jQuery $ .get函数完成,然后再运行代码

在下面,该return语句在调用完成 被执行$.get()。我该如何更改?

var aft = {};

aft.getToken = function (url) {

var theToken;

//Get the token value

$.get(url, function (data) {

theToken = $(data).find('input[name=__RequestVerificationToken]').val();

}, "html");

return theToken;

};

回答:

您不能-至少不明智。虽然async可以在jQuery ajax请求上设置一个属性,但过去在尝试将其与值一起使用时遇到了

false

尝试重新考虑您要完成的工作:

var aft = { yourToken: '' };

aft.setToken = function (url, callback) {

$.get(url, function (data) {

this.yourToken = $(data).find('input[name=__RequestVerificationToken]').val();

if (callback)

callback.apply(this);

}, "html");

};

然后:

aft.setToken("url.php", function() {

alert("Token retrieved = " + this.yourToken);

});

或者,如果您的回调 需要访问返回的数据,那么您可以更简单地执行

if (callback)

callback(data);

然后

aft.setToken("url.php", function(dataReturned) {

alert("Ajax data retrieved = " + dataReturned);

});

以上是 等待jQuery $ .get函数完成,然后再运行代码 的全部内容, 来源链接: utcz.com/qa/428220.html

回到顶部