我保存了所有具有.txt扩展名的json文件,它们使用jquery调用。
当我将扩展更改为.json并在jQuery.ajax调用- jQuery.ajax() -时,我指定
这些文件不再工作了。为什么会这样呢?
难道不是所有的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,它就能工作。
发布于 2014-01-13 19:10:43
正确的扩展是.json
,mime类型是application/json
(引用:这个维基百科页面)。但是,一般来说,只要您的数据结构是有效的,并且您的web服务器正在做它应该做的事情,它就应该与任何扩展一起工作。
发布于 2014-03-23 02:05:20
IIS与一组MIME类型处理程序捆绑在一起。这意味着当您输入以例如.png
结尾的URL时,IIS知道这是一个图像,并分发适当的响应来告诉客户端(浏览器)它是一个图像(因此可以这样呈现)。
默认情况下,.json
没有MIME类型处理程序。你需要设置一个:
.txt
放在扩展字段下,application/json
作为MIME类型你完蛋了!尝试在浏览器中请求JSON文件;如果它呈现正确(作为文本),那么就太棒了。如果不是,您可能必须告诉IIS将其呈现为text/plain
。
发布于 2012-08-27 18:27:52
dataType:"json“不是指定文件的类型,而是指定服务器将返回的数据类型。例如,在服务器端,如果使用php,则必须使用"json_encode“函数返回json字符串,以便dataType:"json”可以接受它。
https://stackoverflow.com/questions/6699091
复制相似问题