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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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");
})

这样就能够正常访问了







以上是关于JQuery Ajax 设置请求头信息application/json的主要内容,如果未能解决你的问题,请参考以下文章

jquery ajax 设置请求头header 参数

为啥用ajax发送post请求时,需要设置请求头类型为application/x-www-form-urlencoded

ajax设置自定义请求头

ajax设置自定义请求头信息

ThinkPHP 中使用 IS_AJAX 判断原生 JS 中的 Ajax 出现问题

ajax设置自定义请求头信息