javascript中的全局变量不会更改

时间:2012-01-21 08:02:49

标签: javascript jquery variables global-variables

    $check = "";

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

    alert($check);

第一个消息是“你好”

第二个消息是“”为什么?

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

默认情况下,jquery ajax函数是异步的。所以执行剂量等待返回的函数值。所以mayb因为您正在使用本地开发服务器。并且ajax发布请求很快,并且您在发送请求时返回单词hello,因此第一条警报消息为“Hello”
然后继续执行并再次向您发出$chek本地值的警告