如何访问函数外的javascript变量

时间:2013-06-24 02:59:41

标签: javascript jquery

我有以下代码。

var dat = null;

$.get("example.com", function(data){
    dat = data;
    alert(dat); // Has the info.
});

alert(dat); // null.

如何在dat之外访问$.get

2 个答案:

答案 0 :(得分:2)

访问该变量应该可以正常工作。问题是设置dat的功能将在最后一次警报后运行。

该函数是一个回调..它只在get完成后运行,而最后一个警报将立即运行。

这是一种在回调

之后链接代码的方法
var dat = null;

$.get("example.com", function(data){
    dat = data;
    alert(dat); // Has the info.
}).then(function() {
   alert(dat); // Has the info too.
});

答案 1 :(得分:0)

线路警报(数据);在$ .get()之前执行因为异步。将$ .ajax()与async:false一起使用或将alert(data)设置为$ .get()成功:

$.ajax({
    type: "GET",
    async: false,
    url: "example.com",
    success: function(data) {
           dat = data;
           alert(dat);
    },
    error: function(e) {
        console.log(e); //error
    }
});