JavaScript访问vriable

时间:2015-06-18 13:51:49

标签: javascript variables

我有这个用于访问JSON的javascript代码。有一个我声明为全局的变量v1,但我无法在此函数之外访问它。



    $.ajax({
            type: 'GET',
            url: url,
            async: true,
            jsonpCallback: 'jsonCallback',
            contentType: "application/json",
            dataType: 'jsonp',
            success: function(json) {
                //console.log("good");
                v1 = [];
                $.each(json, function(key, val) {
                   // $('ul').append('<li id="' + key + '">' + val.dir + ' ' + val.nr  + '</li>');
                   if(val.dir === "IESIRE"){
                      // console.log(val.data);
                       v1.push(val.data);
                   }
                });
            },
            error: function(e) {
                console.log(e.message);
            }
        });

    console.log(v1);
&#13;
&#13;
&#13;

请帮助理解这一点。

2 个答案:

答案 0 :(得分:0)

您可以通过函数调用获取数据。您可以阅读有关此here的更多信息。一个示例小提琴http://jsfiddle.net/y4vv6t8y/

$.ajax({
            type: 'GET',
            url: 'http://echo.jsontest.com/key/value/one/two',
            async: true,
            jsonpCallback: 'jsonCallback',
            contentType: "application/json",
            dataType: 'jsonp',
            success: function(json) {
                //console.log("good");
                v1 = [];
                $.each(json, function(key, val) {

                       v1.push(val);

                });
                _callback(v1);
            },
            error: function(e) {
                console.log(e.message);
            }
        });
function _callback(data){
    console.log(data);
}

答案 1 :(得分:0)

首先在$ .ajax调用之外声明变量var v1 = [];。它将从您传递给$.each的匿名函数的范围内访问。