今天突然通过Ajax调用接口出现异常,居然有Options请求,当然了解过,没有实际遇到,后来查询各种得到对于复杂请求它会先进行Options请求,用来试水,如果试水成功,继续真正的请求,否则终止请求,逻辑没有毛病。可是如果服务器没有对于Options适当回应就尴尬,如果在Options就出现403这种影响应该怎么办? 怎么继续跑下去?
1、Options出现
- 发生一次Options请求被403(拒绝了)
- 下面说明原因没有请求头Access-Control-Allow-Origin
- 总体来说就是响应头缺东西
怎么? 将缺少头部给补上去, Fiddler就是可以实现对响应头进行修改,当然不限于响应头,响应内容、状态等等都是可以修改的。
2、安装Fiddler
- 官网下载 需要输入一个邮箱地址,其实就是收集一下信息
- 安装(这步比较简单,下一步就好)
- 打开fiddler
- 以上就是修改fiddler设置参数 (一下常用)
static function OnBeforeRequest(oSession: Session) : 这个方法时修改请求一些参数包括请求值
static function OnBeforeResponse(oSession: Session):这个方法内修改响应一些方法
- 所以我们需要在OnBeforeReponse添加一些请求头和状态
oSession.responseCode=200;
oSession.oResponse.headers.Add("Access-Control-Allow-Headers", "content-type,x-requested-with");
oSession.oResponse.headers.Add("Access-Control-Allow-Origin","*");
添加位置
oSession.responseCode=200; 将响应状态改为200 初始为403
增加:Access-Control-Allow-Origin 和 Access-Control-Allow-Headers 头部字段
8. 最后保存就好了
注意不要关了Fiddler ,当然这是Fiddler一个很小应用,其他可以自己探索