如果我有以下内容:
jqxhr = $.ajax(settings)
.done(function(result) {
但是我有一个名为myID的变量,我需要在完成ajax调用后引用它。由于ajax是异步的,我担心myID在被调用时会变脏。
问:如何保存myID的副本,使其在done方法中的值正确?我是否使用.context()?
答案 0 :(得分:3)
使用闭包:
var myID = 1;
(function(myID){ // you can choose a different variable name here to avoid confusion
jqxhr = $.ajax(settings)
.done(function(result) {
alert(myID); // will still be 1
});
})(myID)
myID = 2;
这是一个例子:
答案 1 :(得分:0)
你可以保存到$ .data以及稍后如果有人试图重新插入 - 你就会拒绝它。
这样您就可以保存原始值