银行卡项目跨域总结

  银行卡项目中所请求的银行卡相关接口为https://wallet.iqiyi.com/...和https://pay.iqiyi.com/...

  调用情形为任意页面的弹窗,所以其域名是不固定的:主要为http://www.iqiyi.com和http://vip.iqiyi.com以及其他域名。因此存在跨域问题。

  方案1:采用jsonp

     jsonp是最常用的做法,但是在本项目中不能使用。

    原因1:接口不支持jsonp,但不是主要原因,可以让接口方作出修改。

    原因2:采用jsonp的话,请求时数据的传输只能采用get,而不支持post,而银行卡数据为敏感数据,所以不能get传输。

  方案2:CDN转发

    利用CDN转发将银行卡的相关接口转发成http://www.iqiyi.com/...和http://vip.iqiyi.com/...下对应的域名。

    优势:解决了跨域问题

    劣势:只能解决http://www.iqiyi.com/...和http://vip.iqiyi.com/...页面下的跨域问题,其他页面访问该接口时,会请求不到数据。

  Tips:高版本浏览器自带跨域功能,低版本浏览器不行

时间: 2024-10-09 16:42:09

银行卡项目跨域总结的相关文章

java-web项目跨域的问题

当web项目跨域访问时,给response添加一个Access-Control-Allow-Origin:*的头即可接口,添加方式: response.setHeader("Access-Control-Allow-Origin", "*");

ajax调用.net API项目跨域问题解决

ajax调用.net API项目,经常提示跨域问题.添加如下节点代码解决:httpProtocol <system.webServer> <handlers> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandle

JAVA web项目跨域

CORS跨域请求控制方法 1.http请求头 Origin: 普通的HTTP请求也会带有,在CORS中专门作为Origin信息供后端比对,表明来源域. Access-Control-Request-Method: 接下来请求的方法,例如PUT, DELETE等等 Access-Control-Request-Headers: 自定义的头部,所有用setRequestHeader方法设置的头部都将会以逗号隔开的形式包含在这个头中 2.http响应头 然后浏览器再根据服务器的返回值判断是否发送非简单

vue项目跨域问题

跨域 了解同源政策:所谓"同源"指的是"三个相同". 协议相同 域名相同 端口相同 解决跨域 jsonp 缺点:只能get请求 ,需要修改B网站的代码 cors 这个方案缺点 是 ie6 7 兼容不好(倒是不见得要兼容).需要B网站在响应中加头 postMessage 缺点也是 ie6 7 兼容不好(倒是不见得要兼容).需要修改B网站的代码 iframe window.name 传值得方式很巧妙,兼容性也很好.但是也是需要你能修改B网站代码 服务端主动请求B网站,兼

两个java项目,跨域访问时,浏览器不能正确解析数据问题

@Controller@RequestMapping(value = "api")public class ApiItemCatController { @Autowired private ItemCatService itemCatService; @RequestMapping(method = RequestMethod.GET) public ResponseEntity<String> queryItemCatAll(@RequestParam(value=&q

跨域通信/跨域上传浅析

web项目跨域问题主要包括跨域通信和跨域上传,下面对这两方面分别做一个分析,具体项目中用哪个方案要看项目具体需求. 跨域通信 jsonp hash server proxy window.name cors postmessage redirect jsonp 原理:发起一个GET请求,回调函数带到请求参数中,把数据发送过去 坏处:服务器需要支持jsoncallback参数 好处:业界比较通用的方案,包括打点等操作都可以用类似技术 浏览器支持:chrome/firefox/safari/oper

问卷项目--js跨域

项目中因为要把问卷投放到第三方,并且对方要收集统计数据,因此在调用对方接口的时候就会存在跨域的问题. 1. 什么叫js跨域 浏览器不允许javascript跨域请求其他域名下的内容.端口号不同,主域相同子域不同,协议不同,不同域名等等情况 下面表格里的a.js是无法获取b.js的内容的. 情况 举例 端口号不同 http://www.baidu.com/a.js   vs.  http://www.baidu.com:8080/b.js 主域相同子域不同 http://www.baidu.com

项目中经常遇到的跨域请求的几种方法

什么是跨域 JSONP proxy代理 cors xdr 关于跨域无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing).IE8.Firefox 3.5 及其以后的版本.Chrome浏览器.Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,实现了跨域请求.在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息. 如

自己的项目结合MVC实现ajax跨域调用

好久没写东西了,自我检讨一下,写不完这篇不下班!! 最近在做一个项目模块通用的分享功能插件,由于各个模块调用所以会出现跨域问题,正好之前同事解决过,于是自己亲身实践把这次解决问题的经历记录下来.闲言少叙,书归正传~ 首先,项目背景,一个基于jquery的分享插件开发,自己也是尝试着写这么个东西,第一次写,质量肯定差,下次博文把这次开发经历写出来.由于这次解决ajax跨域的方法很简单,我就粘贴代码简单说明一下. 第一步:编写后台程序,MVC下代码如下:      //这是一个获取某个用户的通讯录分