美文网首页
2018-12-16

2018-12-16

作者: 缪呜 | 来源:发表于2018-12-16 22:43 被阅读0次

    初识ajax跨域

    最近刚开始学Ajax,写出来的程序获取文本内容的时候一直获取不到



    一直报这样的错来着,问了一下同僚然后了解到是跨域的问题,但是我根本不知道怎么写啊QAQ
    然后就来学了。

    首先解释一下什么是ajax跨域

    跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。

    其中同源策略指的是:请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同。

    关于为什么会出现跨域问题

    跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
    for example~

    1.http://www.abc.com/a/b 调用 http://www.abc.com/d/c(非跨域
    2.http://www.abc.com/a/b 调用 http://www.def.com/d/c (跨域:域名不一致)
    3.http://www.abc.com/a/b 调用 https://www.abc.com/d/c (跨域:协议不同)
    4.http://www.abc.com:81/a/b 调用 http://www.abc.com:82/d/c (跨域:端口不一致)

    关于ajax跨域问题的解决方法

    1.使用 jsonp
    2.服务器代理
    3.在服务端设置response header中Access-Control-Allow-Origin字段

    相关文章

      网友评论

          本文标题:2018-12-16

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