Javascript 数据类型';application/json';与';json';
可能重复:Javascript 数据类型';application/json';与';json';,javascript,jquery,json,Javascript,Jquery,Json,可能重复: 我使用的是jQuery 1.8.2,出于某种原因,'application/json'不起作用,但是'json'作为标准的jQueryajax调用的数据类型。这是个小故障吗?与版本相关的差异?或者两者之间存在着既定的差异 $(document).ready(function() { $.ajax({ type : "POST", url : '<c:url value="/url.htm" >', //dataTy
我使用的是jQuery 1.8.2,出于某种原因,
'application/json'
不起作用,但是'json'
作为标准的jQuery
ajax
调用的数据类型。这是个小故障吗?与版本相关的差异?或者两者之间存在着既定的差异
$(document).ready(function() {
$.ajax({
type : "POST",
url : '<c:url value="/url.htm" >',
//dataType : "application/json", <-- does not work
dataType: 'json' // <-- works
success : function(data) {
// do something
},
error : function(data) {
// do something else
}
});
});
$(文档).ready(函数(){
$.ajax({
类型:“POST”,
url:“”,
//数据类型:“application/json”,dataType
接受json,这意味着请求需要一个json
响应
contentType
接受application/json
,表示请求正在发送json
数据
您可以在请求中发送json,也可以期望json
$.ajax({
type : "POST",
url : url,
contentType : "application/json",
dataType: 'json',
data: JSON.stringify({some: 'data'}),
success : function(data) {
// do something
},
error : function(data) {
// do something else
}
});
在这里,您发送的是json,需要的是xml
$.ajax({
type : "POST",
url : url,
contentType : "application/json",
dataType: 'xml',
data: JSON.stringify({xmlfile: 'file.xml'}),
success : function(data) {
// do something
},
error : function(data) {
// do something else
}
});
在这里,您正在发送x-www-form-urlencoded
(jQuery会自动为您设置),并希望返回json
$.ajax({
type : "POST",
url : url,
dataType: 'json',
data: {id: '1'},
success : function(data) {
// do something
},
error : function(data) {
// do something else
}
});
contentType设置contentType
HTTP请求头,告知服务器此请求的正文属于给定类型。
数据类型设置Accept
头,告诉服务器这是我们想要的响应类型,例如
Accept:application/json, text/javascript, */*; q=0.01
但是,无论服务器发送何种类型的响应,jQuery仍将尝试将其解析为您在dataType字段中设置的任何类型。“application/json”是json的正确mime类型。但是,jQuerydataType
字段需要以下字符串之一:
"xml"
"html"
"script"
"json"
"jsonp"
根据json文档,正确的数据类型是“json”
以下是支持的选项:
- xml
- html
- 剧本
- json
- jsonp
- 正文
您可以发布您的代码吗?另外,请看这里:数据类型
有一组有限的(空格分隔的)选项,并且它不是mime类型。请看,我认为在此基础上进行扩展并解释$.ajax在幕后做了什么,以便让服务器知道我们期望的内容和发送的内容,这将是非常酷的。