zoukankan      html  css  js  c++  java
  • json和jsonp

    说的直白一点,在我们做ajax异步的一些功能的时候,一定会或多或少的遇到两个问题,(1、数据的交换。2、跨域问题)

    JSONP的最基本的原理是:动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的。这样说来,这种跨域方式其实与ajax XmlHttpRequest协议无关了。我们在用其他关于src的标签的时候,都可以跨域。所以我们只要动态构造的src标签同样可以做到跨域。

    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    function jsonpCallback(result) 
      alert(result.msg); 
     }
     </script>
    <script type="text/javascript" src=" http://crossdomain.com/jsonServerResponse?jsonp=jsonpCallback"></script>

    从红色的地方可以看出,两个名字要一直,不过一般采用callback然后后面加一个“?”此时jquery会自动生成一个函数名,这样可以做到发送很多请求的时候,并不会互相影响。

    同源策略 :即JavaScript只能访问与包含它的文档在同一域下的内容。

    jsonp可以跨越同源策略,当我们使用了jsonp,将会是另外一种协议通信了。

    JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。

    JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

  • 相关阅读:
    移动函数的封装示例
    如何从不均衡类中进行机器学习
    DPM(Deformable Parts Model)--原理(一)
    K-means聚类算法
    机器学习中对核函数的理解
    总结:Bias(偏差),Error(误差),Variance(方差)及CV(交叉验证)
    技术干货
    神经网络入门
    目标函数、损失函数、代价函数
    地铁客流检测训练问题记录
  • 原文地址:https://www.cnblogs.com/luckyXcc/p/5843598.html
Copyright © 2011-2022 走看看