如何获取返回值以在Jquery中将另一个函数用作参数同步

时间:2011-08-03 11:12:53

标签: jquery

我有一个返回一些数据的ajax函数。我需要的是,使用另一个函数作为参数。实际上我做了类似下面的事情,但它不起作用。我需要ajaxDataRenderer的返回值。我怎么能这样做?

    $(document).ready(function () {

        var ajaxDataRenderer = function (url) {
            var ret = null;
            $.ajax({
                async: false,
                url: url,
                dataType: "json",
                success: function (data) {
                    ret = data;
                }
            });
            return ret;
        };

        // The url for our json data
        var jsonurl = "Service/test.aspx";

        var plot2 = $.jqplot('chart2', ajaxDataRenderer(jsonurl));

    });

提前致谢,

3 个答案:

答案 0 :(得分:1)

如何使用真正的异步AJAX:

var ajaxDataRenderer = function (url, successHandler) {
    $.ajax({
        url: url,
        dataType: "json",
        success: successHandler
   });
};

$(document).ready(function () {
    // The url for our json data
    var jsonurl = "Service/test.aspx";
    ajaxDataRenderer(jsonurl, function(data) {
        var plot2 = $.jqplot('chart2', data);
    });
});

答案 1 :(得分:0)

由于ajax请求是异步的,因此无法执行此操作。以前曾多次询问过这个问题:How to return value from $.getJSON

答案 2 :(得分:0)

您可以在成功回调中调用'jqplot'函数 -

success: function (data) {
    ret = data;
    var plot2 = $.jqplot('chart2', data);
}