今天有个api后台接application/json格式的
在Jquery里$.ajax默认是contentType: application/x-www-form-urlencoded; charset=UTF-8
此格式为表单提交格式,数据为 k1=v1&k2=v2的格式
虽然你可以在data设置的是{k1:v1,k2:v2}不过在提交的时候还是会转换成k1=v1&k2=v2
所以我就在参数里加上了contentType: ‘application/json;charset=UTF-8‘
可是却还是报非法请求 400
最后捣鼓了很久终于知道了原因
data的对象需要转成JSON字符串
$.ajax({
url: ‘你的url‘,
type: ‘POST‘,
dataType:"json",
contentType: ‘application/json;charset=UTF-8‘,
data: JSON.stringify({id : 1}),
})
.done(function(data) {
console.log(data,"success");
})
这样就能够正常访问了