我最近升级到 1.5,功能如下:
function showData(id) {
$.get("/url/getdata", {id : id}, function(data) {
$("#dialogData").html(data);
$("#dialogData").dialog({width: 500, modal: true, zIndex:22000});
}, "json");
}
不再适用于添加 1.5。
查看firebug,返回了正确的数据,但是进入回调后函数中断。一切都停止了。
我怎样才能解决这个问题?我阅读了 1.5 中对 Ajax 调用的更改,但我的项目中有超过一千个这样的调用 -> 我什至无法开始考虑将它们全部搜索并更改它们,更不用说对它们进行错误测试了。
编辑:奇怪的是,如果我为 dataType 输入“text json”而不是“json”,它就可以工作。我不认为浏览我所有的代码并改变它是一个可行的选择......
编辑 2:我没有返回 json_encode($string),而是尝试返回 json_encode(array("string" => $string)),然后我做了 $(element).html(data.string)。这也不起作用,我通过此调用获得的 JSON 数据在 jsonlint.com 上有效
编辑 3:尝试在 json_encode 输出之前设置标头,但没有用。到目前为止,唯一的解决方案是将数据类型设置为文本 json。