美文网首页
AJAX跨域

AJAX跨域

作者: f936d7404923 | 来源:发表于2018-03-17 21:32 被阅读0次

    原因:

    • 浏览器限制
    • 跨域(协议、域名、端口)
    • XMR(XMLHttpRequest请求)

    解决方法:

    • 浏览器:命令行参数启动,带上参数--disable-web-security

    • XHR:使用JSONP,后台服务器需要改动。请求类型(type)为script,返回类型为javascript。原理为动态创建script标签,在script中发送请求。JSONP弊端:服务器需要改动代码支持,只支持GET方法,发送的不是XHR请求(没有相关事件)。

    • 跨域:被调用方支持跨域:增加Access-Control-Allow-Origin的header(CORS,带Cookie时必须是全匹配,不能是*),调用方隐藏跨域:使用代理服务器转发请求。

    浏览器如何判断请求是跨域

    简单请求(先执行,后判断):方法为GET、HEAD、POST,请求header里面无自定义头,Content-Type为以下几种:text/plain、multipart/form-data、application/x-www-form-urlencoded。

    非简单请求(先发送预检命令,通过后再发送请求):put,delete方法的ajax请求,发送json格式的ajax请求,带自定义头的ajax请求。

    相关文章

      网友评论

          本文标题:AJAX跨域

          本文链接:https://www.haomeiwen.com/subject/azcsqftx.html