繁体   English   中英

javascript中的全局变量未更改

[英]Global variable in javascript doesn't changed

    $check = "";

    $.ajax({
        url: "check.php",
        type: "POST",
        cache: false,
        data: $name + "=" + $value,
        success: function(data){
            $check = data;
            alert($check);
        }
    });

    alert($check);

第一个味精是“你好”

第二个味精是“”,为什么?

$.ajax是一个异步函数,它会立即返回并在收到成功响应时调用success回调。

因此,当执行代码底部的alert($check)时, ajax的回调尚未修改$check的值。 这就是为什么您看到空字符串的原因。

jQuery ajax函数默认是异步的。 因此,执行剂量等待函数值返回。 可能如此,因为您正在使用本地开发服务器。 并且ajax发布请求很快,并且您在响应发布请求时返回单词hello,因此第一个警报消息是“ Hello”
然后执行继续并返回,再次提醒您$chek本地值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM