尝试使用Ajax和仅在Internet Explorer上获取JSON数据时遇到问题。
我正在使用这个jQuery代码:
$.ajax({
type: "GET",
url: "./ajaxglobal/chargementcommandes",
cache: false,
dataType: "json",
contentType: "application/json",
success: function(data) {
alert("Success : "+data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error : "+textStatus+" / "+errorThrown);
}
});
“chargementcommandes”是PHP / Zend页面。
简化测试的“chargementcommandes”的PHP代码如下:
echo '[
{ "data" : "A node", "children" : [ { "data" : "Only child", "state" : "closed" } ], "state" : "open" },
"Ajax node"
]';
Firefox和Chrome中的一切都运行良好(我得到了预期的数据),但在Internet Explorer(在IE8和IE9中测试过)中,我从警报中得到“Success:undefined”。所以Ajax调用不会返回任何内容。我尝试了很多东西,但我没有成功摆脱这个问题。
非常感谢任何帮助。 提前谢谢!
编辑:在jQuery代码中添加了类型,缓存和内容类型。仍然是“成功:未定义”的回应...
答案 0 :(得分:0)
确保标题正确,对于json响应,正如raina77ow建议的那样。
json的正确标头是“application / json”,此标头设置如下:
header('Content-type: application/json');