zoukankan      html  css  js  c++  java
  • AJAX 跨域

    1.说到ajax就会遇到的两个问题

             1.1AJAX以何种格式来交换数据

                       1.自定义字符串

                       2.XML描述

                       3.JSON描述(建议使用)

             1.2如何解决跨域

                       1.使用jQuery的ajax解决跨域问题——JSONP解决(建议使用)

                       2.表单POST方式

                       3.服务器代理

                       4.HTML5中的postMessage

                       5.Flash request

    2.同源策略与跨源策略

        1.同源策略

          同源策略:阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的URL的域必须与当前Web页面的域相同、相同端口。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。

        2.跨源策略

          跨源策略(CORS):是一个Web浏览器技术规范,它定义了一个方法让Web服务器允许其他域名页面访问它的资源。跨源策略定义了一个方法让浏览器和服务器可以交互决定是否允许跨源请求。

          大家注意到同源请求中我们使用的是JSON格式,但在跨源请求中却是使用JSONP,这时大家可能有点困惑,首先我们必须理解JSON和JSONP的区别:JSON是一种数据格式,而JSONP像是通过一个方法名来封装JSON格式;由于浏览器允许跨源请 求<script>资源,如我们的HTML页面代码中使用了Google的jQuery库,当我们Web程序发送跨源请求后,服务器给我们提 供响应数据,但服务器无法预知接受JSON数据的方法名,所以我们要提供一个方法名。

    3.ajax跨域问题解决

      1.使用jQuery的ajax解决跨域问题——JSONP解决(建议使用)

    $.ajax({ 

         type: "get", 

         async: false, 

         url: "http://abc.com:8080/AjaxCrossDomain/jsonp/data.jsp", 

         dataType: "jsonp", 

         jsonp: "callback", 

         jsonpCallback:"flightHandler", 

         success: function(json){ 

             alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。'); 

         }, 

         error: function(){ 

             alert('fail'); 

         } 

     });

             2.表单POST方式

             3.服务器代理

             4.HTML5中的postMessage

             5.Flash request

  • 相关阅读:
    祖传屎山代码
    WebService原理及重要术语
    ML-For-Beginners
    Row Level Security行级数据安全,简称RLS。
    浅析 Dapr 里的云计算设计模式
    讲师征集| .NET Conf China 2021正式启动
    为什么 Dapr 如此令人兴奋
    Open Application Model(OAM)的 Kubernetes 标准实现 Crossplane 项目 成为 CNCF 孵化项目
    kubectl 的插件管理工具krew
    PrimeBlazor 组件以MIT 协议开源
  • 原文地址:https://www.cnblogs.com/ricesm/p/5056999.html
Copyright © 2011-2022 走看看