跨域资源共享(CORS):服务端设置响应头Access-Control-Allow-Origin,允许指定的域名访问资源。
document.domain:如果两个页面的域名属于同一个父级域名,可以通过设置document.domain来实现跨域通信。
JSONP(JSON with Padding):通过动态创建script标签,实现跨域请求,并通过回调函数来处理返回的数据。
跨文档消息传递(Cross-document Messaging):利用window.postMessage()方法在不同域的页面之间安全地传递消息。
代理服务器:通过在同源服务器上设置代理,将客户端请求代理到目标服务器,实现跨域请求。
使用跨域框架:如EasyXDM、Porthole等第三方库,简化跨域通信的开发工作。
JSONP的弊端:JSONP只支持GET请求,不安全,容易受到XSS攻击,应当谨慎使用。