如何返回jquery ajax成功结果

时间:2011-09-07 12:11:20

标签: jquery ajax

如何返回jquery ajax成功结果

function name (LevelId) {
    var passobj = null;
    $.ajax({
        url: 'GetValues' + '/?LevelId=' + LevelId,
        type: "POST",
        dataType: "json",
        contentType: 'application/json',
        async: false,
        success: function (result) {
            passobj = result;
        },
        complete: function () { },
        error: ServiceFailed// When Service call fails
    });
    return passobj;
}

  returned =name(id);

2 个答案:

答案 0 :(得分:3)

这对我有用

ajaxCall(urls, data).success(function(data){
    // get the result
});

function ajaxCall(url, data){   
    var result;

    return $.ajax({
        type: 'POST',
        url: url,
        data: data
    });
}

答案 1 :(得分:0)

这不起作用,因为ajax请求是异步执行的,这意味着你的函数返回null - 在检索到服务器的响应之前不会调用成功事件处理程序(可能需要一些时间) 。您需要使用事件重构代码。

function name(id, callback) {
    $.ajax({
        ...
        success: callback
    });
}

name(17, function(returned) {
    // work with the response...
});

编辑抱歉,没有注意到您设置async: false - 在这种情况下,如果我不再错过任何内容,您的代码实际上应该可以正常工作。< / p>