• aja如何解决跨域请求?


    一、什么是跨域

    举个例子:http://www.a.com/a.js访问以下URL的结果

    URL说明是否允许通信
    http://www.a.com/b.js 请求地址不同 允许
    http://www.a.com/script/b.js 请求地址不同 允许
    https://www.a.com/b.js 协议不同 不允许
    http://script.a.com/b.js 子域不同 不允许
    http://a.com/b.js 子域不同 不允许
    http://www.b.com/b.js 主域不同 不允许
    http://www.a.com:8000/b.js 端口不同 不允许
    http://70.32.92.74/b.js 域名和域名对应ip 不允许

    跨域结果:浏览器不能执行其他域的脚本(即:浏览器的同源策略造成)

    浏览器控制台报错:

    XMLHttpRequest cannot load http://external-domain/service. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://my-domain’ is therefore not allowed access.

    二、为什么要跨域

    Web浏览器针对恶意的代码所进行的措施。安全。

    三、跨域的应用场景

    1、来自 home.example.com 的文档里的脚本读取 developer.example.com载入的文档的属性。(子域不同)

    2、来自 home.example.com 的文档里的脚本读取 text.segmentfault.com载入的文档的属性。(子域、主域不同)

    三、如何跨域

    方式有很多,常用的两种思路:

    1、在服务端设置response header

    2、Jsonp:动态<script>标签,get请求

  • 相关阅读:
    二十八、线程安全
    一、JAVA内存区域与内存溢出异常
    一、SQLite学习
    排列问题
    2016年秋季个人阅读计划
    有向图强连通分量求解【转】
    《梦断代码》阅读笔记之五
    《梦断代码》阅读笔记之四
    软件工程个人总结
    《梦断代码》阅读笔记之三
  • 原文地址:https://www.cnblogs.com/cxnian/p/8080655.html
Copyright © 2020-2023  润新知