我有一个返回一些数据的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));
});
提前致谢,
答案 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);
}