Ajax跨域问题

1、dataType:"jsonp",jsonp:"callback"

     JSONP的缺点:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
     JSONP的最基本的原理:动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的。这样说来,这种跨域方式其实与ajax XmlHttpRequest协议无关了。

2、dataType:"json",xhrFields: {withCredentials: true},crossDomain: true

     CORS的原理:只需要向响应头header中注入Access-Control-Allow-Origin,这样浏览器检测到header中的Access-Control-Allow-Origin,则就可以跨域操作了(withCredentials属性使得请求包含了远程域的所有cookies,但值得注意的是,这些cookies仍旧遵守“同域”的准则,因此从代码上你并不能从document.cookies或者回应HTTP头当中进行读取。)

备注:有不对或者还有其他方法,请大家补充或指教,谢谢!

原文地址:https://www.cnblogs.com/happybread/p/6931967.html