在ajax调用定义后,如何访问http://localhost:3000/password_resets/RtukKzGZ9U8HOaHyipTmYw/e
dit?email=email%40gmail.com
?
PS:我无法改变ajax call inner_variable
回调中的任何内容。
我尝试使用success
,但效率不高。
setTimeout
答案 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,则上下文对于作用域是私有的,则表示全局作用域,并且您可以覆盖 希望你能帮忙