我的代码:
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。变量未更新。
答案 0 :(得分:5)
您正在声明并初始化函数内的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*/
}
});
}
答案 1 :(得分:1)
您需要在函数外部定义变量,您在ajax回调函数中使用它,因此每次运行该函数时,它都会将值重置为6.