var flag = false; //True if checkbox is checked
$.ajax({
... //type, url, beforeSend, I'm not able to access flag here
success: function(){
// I'm not able to access flag here
}
});
在ajax内,如果我尝试访问flag
,则说它未定义。我如何在ajax函数中使用它?任何的想法?
标志和ajax都是函数的主体。该函数内部没有其他内容。
最佳答案
如果通过引用进行访问,则可以访问该变量。 Javascript中的所有对象都是引用值,只是原始值不是(例如:int,string,bool等)
因此,您可以将标志声明为对象:
var flag = {}; //use object to endure references.
$.ajax({
... //type, url, beforeSend, I'm not able to access flag here
success: function(){
console.log(flag) //you should have access
}
});
或强制成功函数具有所需的参数:var flag = true; //True if checkbox is checked
$.ajax({
... //type, url, beforeSend, I'm not able to access flag here
success: function(flag){
console.log(flag) //you should have access
}.bind(this, flag) // Bind set first the function scope, and then the parameters. So success function will set to it's parameter array, `flag`
});
关于javascript - 在ajax内部访问javascript变量成功,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30734372/