1.jsonp
利用请求js脚本不会有跨域问题的特点。
本地定义好一个函数,函数里面做执行。然后服务端返回同名函数的调用形式,这样,这个数据一到达客户端,就会被马上执行。
优点:
它不像XMLHttpRequest 对象实现 Ajax 请求那样受到同源策略的限制
兼容性很好,在古老的浏览器也能很好的运行
不需要 XMLHttpRequest 或 ActiveX 的支持;并且在请求完毕后可以通过调用 callback 的方式回传结果。
缺点:
它支持 GET 请求而不支持 POST 等其它类行的 HTTP 请求。
它只支持跨域 HTTP 请求这种情况,不能解决不同域的两个页面或 iframe 之间进行数据通信的问题
2.CORS
其实就是利用ajax,在响应头加了一行
CORS 的优缺点:
使用简单方便,更为安全
支持 POST 请求方式
CORS 是一种新型的跨域问题的解决方案,存在兼容问题,仅支持 IE 10 以上