JQuery Ajax 设置请求头信息application/json

时间:2023-03-09 02:02:32
JQuery Ajax 设置请求头信息application/json

今天有个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");
})

这样就能够正常访问了