Not Working函数使用jQuery调用获取数据。请帮帮我

时间:2014-02-20 03:10:31

标签: javascript jquery asp.net-mvc

             function getDept() {
                var deplist;
                //Get Department
                $.ajax({
                    type: 'GET',
                    url: '@(Url.Action("getDeptFK", "Settings"))',
                    dataType: "jsonp",
                    success: function (data) {
                        deplist = JSON.parse(JSON.stringify(data));
                    }
                });
                return deplist;
            }

函数返回undefined但成功中的调试值工作!

1 个答案:

答案 0 :(得分:2)

Ajax是异步的,因此您无法从中返回任何内容。

一种方法是将getDept()函数重写为:

function getDept() {
    var deplist;
    //Get Department

    return $.ajax({
        type: 'GET',
        url: '@(Url.Action("getDeptFK", "Settings"))',
        dataType: "jsonp",
        success: function (data) {
            deplist = JSON.parse(JSON.stringify(data));
        }
     });
}

然后你可以将它传递给变量:

var result = getDept();

并获取AJAX调用返回的数据,如下所示:

result.success(function (data) {
    console.log(data);
});