跨域请求数据解决方案主要有如下解决方法:
JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request
登录后复制
分开说明:
一、JSONP:
直观的理解:
就是在客户端动态注册一个函数
function a(data),然后将函数名传到服务器,服务器返回一个a({/*json*/})到客户端运行,这样就调用客户端的
function a(data),从而实现了跨域.
诞生背景:
1、Ajax直接请求普通文件存在跨域无权访问的问题,甭管是静态页面、动态网页、web服务、wcf、只要是跨域请求,一律不行。
2、不过,web页面上调用js文件时则不受此影响
3、进一步推广,我们发现,凡是拥有Src属性的标签都有跨域能力,如: