银行卡项目跨域总结

  银行卡项目中所请求的银行卡相关接口为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:高版本浏览器自带跨域功能,低版本浏览器不行

原文地址:https://www.cnblogs.com/wangxuehao/p/6641521.html