变量不断重置为原始值

nic*_*ick 0 javascript jquery json

我的代码:

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*/

            }

        )
    };

}
Run Code Online (Sandbox Code Playgroud)

现在,因为我已经设置nop为6,它将传递6.但是在返回时,json响应obj.nopval将返回12我想要设置为nop.所以下次它发送12并返回18等等....

这里发生的是,它发送6并返回12但是再次发送6并再次返回12.变量未更新.

JLR*_*she 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*/
        }
    });
}
Run Code Online (Sandbox Code Playgroud)