我的代码:
function send() {
var nop = 6;
var send_this = {
nop: nop
};
$.ajax({
type: "GET",
data: send_this,
url: "example.com",
success: function(r) {
var obj = JSON.parse(r);
nop = obj.nopval;
/* some other stuffs*/
}
)
};
}
现在,由于我已经将 nop
设置为 6 ,因此它将传递 6。但是在返回时,json 响应 obj.nopval
将返回我想要的 12设置为nop
。这样下次它发送 12 并返回 18 等等....
这里发生的情况是,发送 6 并返回 12,但再次发送 6 并再次返回 12。该变量没有得到更新。
最佳答案
您正在函数内声明并初始化 nop
变量,因此每次调用函数时它都会从 6
开始。 nop
需要存在于函数之外的某个位置才能使更改持续存在:
var nop = 6; // outside the function
function send() {
var send_this = {
nop: nop
};
$.ajax({
type: "GET",
data: send_this,
url: "example.com",
success: function(r) {
var obj = JSON.parse(r);
nop = obj.nopval;
/* some other stuff*/
}
});
}
关于javascript - 变量不断重置为其原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589450/