如何在ajax调用定义后访问变量?

时间:2015-08-08 14:58:26

标签: javascript jquery ajax asynchronous

在ajax调用定义后,如何访问http://localhost:3000/password_resets/RtukKzGZ9U8HOaHyipTmYw/e dit?email=email%40gmail.com

PS:我无法改变ajax call inner_variable回调中的任何内容。 我尝试使用success,但效率不高。

setTimeout

3 个答案:

答案 0 :(得分:0)

您需要使用如下所示的回调函数,然后将response传递给callback使用function myAjaxFunction (myCallback) { jQuery.ajax({ //code }).done(function(response){ myCallback(response); }); } myAjaxFunction(function (response) { console.log(response); // Then you can use response. });

asynchronous

因为 A JAX是{{1}},所以你不能按照自己的意愿去做。

答案 1 :(得分:0)

如果你无法改变成功回调中的任何内容,你可以挂钩ajaxComplete回调并将你的setTimeout放在那里。

$( document ).ajaxComplete(function() {
    // setTimeout or setInterval after a short delay to check inner_variable till it's defined 
});

答案 2 :(得分:0)

你必须看看范围。 我的意思是,如果你这样做:

   var myvalue; /*value undefined this scope is private */function test (){myvalue = 'foo'/*
This will overwrite myvalue outher context inside function myvalue produces foo */} //myvalue out the function is foo

当声明var时,如果声明没有var,则上下文对于作用域是私有的,则表示全局作用域,并且您可以覆盖 希望你能帮忙