通过$ .ajax请求json文件时出现奇怪的JSON行为

时间:2012-11-19 22:05:14

标签: javascript ajax json

我有一个json文件(text2.json)和一个文本文件(text2.txt),其内容与text2.json完全相同。

通过$ .ajax:

请求json文件时发现它非常有趣

请求text2.json到web服务器:

 $.ajax({
   url: "./scripts/text2.json",
   dataType:"json",
   success: function(data){
            alert('success');
   },
   error: function(){alert('error');}
 });

此警报错误。

向web服务器请求text2.txt:

 $.ajax({
   url: "./scripts/text2.txt",
    dataType:"json",
    success: function(data){
            alert('success');
    },
    error: function(){alert('error');}
  });

这提醒成功。

截至目前,我只有2天的javascript经验,我只是想知道导致这种权衡的原因......

修改

对于text2.json + type:“json”,我错误地修改了我的alert():正如你们建议的那样。然后警报给出“[object object]”,因为我的json文件是“{”result“:true,”count“:2}”。这看起来像一个空对象或什么。

然后我在将text2.json作为json dataType请求时检测到存在“parseerror”。我不确定这个信息。看起来一些初始设置不正确。有人想给我一个暗示吗?

看起来我的json文件非常像格式错误的json。情况可能就是这样......

1 个答案:

答案 0 :(得分:0)

错误可能与响应的标头有关。您正在指定json数据类型,因此预期的标头应为application/json

类型