JSON文件扩展名

时间:2011-07-14 19:46:32

标签: json jquery file-extension

我一直在保存所有带有.txt扩展名的json文件,他们使用jquery ajax调用。

当我将扩展名更改为.json并在我的jquery ajax调用中 - jQuery.ajax() - 我指定

  • dataType:“json”,
  • contentType:“application / json; charset = utf-8”,

文件不再有效。为什么这样?

不应该所有json文件都有扩展名.json吗?我正在使用IIS服务器。

JSON

{ "rows": [ 
  {"row":[ 
    {"cells": [ 
      {"data": "Edit"}, 
      {"data": "030194"} 
    ]} 
  ]}, 
  {"row":[ 
    {"cells": [ 
      {"data": "Add"}, 
      {"data": "030194"} 
    ]} 
  ]}  
]}

jQuery

jQuery.ajax ({ 
  type: "GET", 
  url: "localhost/ABC.json", 
  dataType: "json", 
  contentType: "application/json; 
  charset=utf-8", 
  cache: "false", 
  success: function(response){}  
});

有人可以告诉我为什么扩展.json无效吗?如果我将其更改为.txt

,它会起作用

3 个答案:

答案 0 :(得分:6)

正确的扩展名为.json,默认类型为application/json(参考:this Wikipedia page)。但是,一般来说,只要您的数据结构有效并且您的Web服务器正在按照预期进行操作,它就应该适用于任何扩展。

答案 1 :(得分:4)

IIS捆绑了一堆MIME类型处理程序。这意味着当您输入以.png结尾的URL时,IIS知道这是一个图像,并调度相应的响应以告诉客户端(浏览器)它是一个图像(所以它可以这样呈现。)

默认情况下,

.json没有MIME类型处理程序。你需要设置一个:

  • 加载IIS管理器
  • 浏览树节点直至您的网络应用或网站
  • 双击MIME类型功能(下方窗格)
  • 点击添加(RHS"添加"或右键单击并选择添加)
  • .txt放在扩展字段下,将application/json作为MIME类型

你完成了!尝试在浏览器中请求JSON文件;如果它正确呈现(作为文本),真棒。如果没有,您可能必须告诉IIS将其呈现为text/plain

答案 2 :(得分:0)

dataType:“json”不指定文件的类型是指定服务器将返回的数据类型。从服务器端,例如,如果您使用的是php,则必须使用函数“json_encode”返回json字符串,以便dataType接受它:“json”。

相关问题