再次遇到一些基本问题。
我需要修改之前在代码编写对象中返回的函数。 我现在试图通过$ .getJSON
从json获取对象 function getEventData() {
var result = '';
$.getJSON("ajax.php?cmd=getbydate&fromdate=&todate=", function(data){
result = data;
});
return result;
}
问题是,由于显而易见的原因,未在回调函数中设置结果。
你们有解决方案吗?
编辑: 好的,我得到了一个被删除的答案。 我只是不得不改变它..
这是有效的答案:
function getEventData() {
var result = '';
url = "ajax.php?cmd=getbydate&fromdate=&todate=";
$.ajax({
url: url,
async: false,
dataType: 'json',
success: function(data){
result = data;
}
});
return result;
}
答案 0 :(得分:1)
你应该以异步方式编写你的应用程序,这意味着你应该为你的应用程序流使用回调函数,或者继续在getJson回调函数中。您也可以同步发出请求,然后应该返回该值(或者至少分配它并阻止函数直到回调完成),但不建议这样做:
function getEventData() {
var result = '';
result = $.ajax({
url: "ajax.php?cmd=getbydate&fromdate=&todate=",
async: false,
dataType: "json",
data: data,
success: function(data){
return data;
}
});
return result;
}
答案 1 :(得分:0)
您确定服务器返回有效的json吗?最好使用jsonlint之类的工具对其进行验证。另外,请确保将application/json
用作响应的内容类型。