首页 > 代码库 > 用fiddler解决跨域访问

用fiddler解决跨域访问

在调试ajax请求时,经常遇到的是跨域的问题,而解决跨域问题其中之一的办法就是服务器端添加

Access-Control-Allow-Origin : *这样的头

在服务器没作出修改之前,我们要模拟这个情况就得用到fiddler了

两种方式,各有长短,先上图再说

方法1:修改CustomRules.js

 


 通过修改CustomRules.js给Fiddler添加菜单项,效果永久有效,操作方便,也可随时自定,实现如下

  a. 在CustomRules.js的 public static RulesOption("Cache Always &Fresh", "Per&formance")下面加上以下代码:

 

Js代码  收藏代码
  1. //这里是新加的菜单项       
  2. RulesString("Override &Allow-Origin", true)         //一级菜单名称  
  3. RulesStringValue(1,"*.qq.com", "*.qq.com")          //指定几个默认的的选项  
  4. RulesStringValue(2,"*.tenpay.com","*.tenpay.com")  
  5. RulesStringValue(3,"*.paipai.com","*.paipai.com")   //自己可以随时补充  
  6. RulesStringValue(4,"&Custom...", "%CUSTOM%")        //允许用户自已定义,点击时弹出输入  
  7. //如果加第4个参数为true的话,会把当前规则当作默认规则,每次启动都会生效,如:  
  8. //RulesStringValue(5,"菜单项显示内容","菜单项选中对应值",true)//将会默认选中此项  
  9. public static var sAllowOrigin: String = null;      //定义变量名称  

  b.在CustomRules.js时找到static function OnBeforeResponse,在函数体内再加上如下代码:

 注意:如果需要跨域读写cookie,要同时设置Access-Control-Allow-Credentials:ture

    
 
Js代码  收藏代码
  1. if( sAllowOrigin ){  
  2.     oSession.oResponse["Access-Control-Allow-Origin"] = sAllowOrigin;
  3.     oSession.oResponse["Access-Control-Allow-Credentials"] = "true";  
  4. }  
  
  c. 保存CustomRules.js文件,大功告成
 
  d.记得到Rules菜单下选中对应的选项才会生效
 
方法2:使用自带的filter插件,如下图

添加过程,按上图中的1,2,3步骤添加即可   

用fiddler解决跨域访问