现在的位置: 首页 > web前端 > 正文

http请求415错误Unsupported Media Type

2020年07月21日 web前端 ⁄ 共 1048字 ⁄ 字号 评论关闭

  之前用了封装的ajax,因为请求出了点问题,我试了下jQuery的$.ajax,报出了415的错误,从没遇到过这个错误,所以也是花了不少时间在研究这个问题的出处


  http请求415错误UnsupportedMediaType


  415错误的解释是说,服务器无法处理请求附带的媒体格式,不明白什么意思,一开始以为是后台设置没办法解析,后来用postman、swagger请求,都可以成功,确定是我请求的问题,查看了HTTP请求头部文件,发现content-type跟我们的json格式不同


  所以在ajax请求中添加content-type设置为application/json,然后记得将数组对象格式化为json对象JSON.stringify()


  再请求一次,OK了


  HTTP请求415错误–不支持的媒体类型(Unsupportedmediatype)


  通常有以下情况:


  1:检查你的http请求头信息,比如因为User-Agent被服务器设置拒绝请求了;


  比如你写的的爬虫,就很有可能因为没有伪装成浏览器,被拒绝请求


  user-agent详情


  1


  2


  3


  2:查看你的http请求方法,以及服务器端的设置


  比如:有一个强制用post请求的接口,你是不是用了非post请求


  3:post请求参数设置,是不是必须的,json格式


  比如下面,两段代码,


  如下json参数,body


  或者看后台控制器接收方式是json,还是body,如果后台是body接收,前台必须用form提交


  415(UnsupportedMediaType)


  查询资料发现没有设置contentType,


  1.Ajax请求时没有设置Content-Type为Json。


  2.发送的请求内容不要转成JSON对象,直接发送JSON字符串即可,否则就415错误!


  改代码:


  functiontest(){


  $.ajax({


  type:"POST",


  async:false,


  contentType:'application/json',


  data:'[{"key":"displayName","value":["NE32003"]},{"key":"hasLabel","value":["1"]}]',


  success:function(data){


  总之,http请求415错误UnsupportedMediaType给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.