javascript - 变量不断重置为其原始值

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

            }

        )
    };

}

现在,由于我已经将 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/

相关文章:

javascript - 鼠标悬停的 Accordion child

javascript - Ajax 成功函数未运行

javascript - Node/Angular 应用程序未捕获语法错误 : Unexpected token <

Javascript 停止在 MeteorJS 中进行硬页面重新加载

javascript - Ajax和FormData发送文件失败

javascript - 在 TypeScript 中向 JavaScript 对象添加数据

javascript - 在 PHP 中回显 JSON

javascript - 将函数的响应填充到函数外部定义的对象中

javascript - 将 ajax 元素包装到 HTML 页面

jquery - org.apache.struts2.json.JSONException : Incompatible types for property