IE上的$ .getJSON问题

时间:2011-08-22 19:12:27

标签: jquery json internet-explorer

我有一个应用程序调用jquery函数,如下所示:

$.getJSON('test.php',{dest:2},function(data){
   alert(data);
});

嗯,test.php是这样的:

<?php echo json_encode('Test'); ?>

在FF上返回一个带有'Test'的警报,但在IE上返回一个没有任何警告的警报。

任何人都有任何想法?

4 个答案:

答案 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