我有一个应用程序调用jquery函数,如下所示:
$.getJSON('test.php',{dest:2},function(data){
alert(data);
});
嗯,test.php是这样的:
<?php echo json_encode('Test'); ?>
在FF上返回一个带有'Test'的警报,但在IE上返回一个没有任何警告的警报。
任何人都有任何想法?
答案 0 :(得分:2)
将mime-type添加到php标头中。 IE不会自动获取它。
答案 1 :(得分:2)
您缺少内容类型application / json作为标题。
在echo之前添加:
header('Content-type: application/json');
答案 2 :(得分:2)
JSON文档必须由数组或对象组成。
如果给json_encode
一个字符串,那么PHP将输出一个字符串,该字符串不是有效的JSON文档。
您可能会遇到不同浏览器中使用的不同JSON解析器的错误恢复能力之间的差异。
答案 3 :(得分:2)
解决了,按照我的所作所为:
取代了电话
$.getJSON('test.php',{dest:2},function(data){
alert(data);
});
这个
$.ajax({
type: "get",
url: "test.php",
data: "dest=2",
cache:false,
dataType:'json',
success: function(data){
alert(data)
}
});
这样适用于IE和FF