设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

HTTP基本知识、跨域和调试技巧(2)

发布时间:2019-04-17 01:30 所属栏目:21 来源:SmartCoder
导读:response的header中Access-Control-Allow-Headers 用于 preflight request (即会在实际请求发送之前先发送一个option请求)中,列出了将会在正式请求的 Access-Control-Expose-Headers 字段中出现的首部信息。 简

response的header中Access-Control-Allow-Headers 用于 preflight request (即会在实际请求发送之前先发送一个option请求)中,列出了将会在正式请求的 Access-Control-Expose-Headers 字段中出现的首部信息。

简单首部,如 simple headers、Accept、Accept-Language、Content-Language、Content-Type (只限于解析后的值为 application/x-www-form-urlencoded、multipart/form-data 或 text/plain 三种MIME类型(不包括参数)),它们始终是被支持的,不需要在这个首部特意列出。

preflight request--options请求

很多人在抓包时会很郁闷怎么会无端端多出了一个OPTIONS请求,请不要奇怪,这只是CORS策略的预检请求,就像你要去跟别人借个东西,要先问问对方肯不肯一样。

什么情况下会发送OPTIONS请求?

简单的说,就是有自定义headers,Content-Type的值不属于下列之一:application/x-www-form-urlencoded,multipart/form-data,text/plain的请求会触发OPTIONS请求。如果产生OPTIONS请求,需要后台去响应它,允许它跨域。

https://www.jianshu.com/p/b55... 可以参考篇文章。

抓包和问题分析

PS: 我主要使用Chrome的DevTools工具

确保发送的数据没问题

不要相信你的代码,以抓包工具的为准!!!!!要相信如果抓包的数据有问题,那么就是你的代码有问题。

不要相信你的代码,以抓包工具的为准!!!!!要相信如果抓包的数据有问题,那么就是你的代码有问题。

不要相信你的代码,以抓包工具的为准!!!!!要相信如果抓包的数据有问题,那么就是你的代码有问题。

  1.  URL确保跟后台约定的一致
  2.  headers要尤其关注Content-Type(请关注上文的Content-Type),GET请求没有Content-Type.
  3.  请求的参数是否正确

后台返回什么了?

如果你确认你发送的数据没问题,那么该看看后台响应了什么,如果响应的数据有问题,那么是后台的责任。

如果是跨域的要查看有没有响应CORS的请求头。

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读