zoukankan      html  css  js  c++  java
  • jsonp与ajax

    jsonp和ajax木有啥关系!

    实现方法完全不一样。ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提供的js脚本。

    怎么说呢,因为jQuery的原因,我一直以为就是个ajax调用。

            $(document).ready(function(){
                $.ajax({
                    type: "GET",
                    dataType: "JSONP",
                    url: "http://contests.acmicpc.info/contests.json",
                    success: generateHTML,
                    error: function(){alert(arguments[1]);}
                });

    本来想获取 http://contests.acmicpc.info/contests.json 这个json

    然后就错了啦。

    jsonp是用来解决ajax跨域调用的问题。

    感觉方法好神!好厉害!

    不管我们怎么跨域还是不跨越

    <script src="xxx.yyy.ttt.js"></script>

    这个js都是可以被执行的。

    如果我们这样

    <script>
        function loadData(data)
        {
               alert(data);
         }
    </script>

    然后远程的js里面写

    <script>
          loadData({"x":123,"y":456});
    </script>

    那么我们就得到了数据!!!!

    还有个问题就是远程怎么知道我们写的啥函数名呢?

    所以一般在我们访问的链接里面有个callback参数,你写什么名字,远程服务器就用什么函数名来包裹这个数据!比如说京东的评价

    http://club.jd.com/productpage/p-729060-s-3-t-3-p-0.html?callback=jsonp1367561000922&_=1367561099292

    由此可见,虽然jQuery我们和ajax的写法差不多,但是实现上确完全是两码事!

    by 1957
  • 相关阅读:
    SqlBulkCopy实现大容量数据快速插入数据库中
    防查询语句注入漏洞攻击
    wpf中数据绑定(Datacontext)的应用
    WPF中StackPanel的使用方法
    可空类型的使用《二》
    关于可空数据类型的介绍
    C# 之泛型详解
    C# 之String以及浅拷贝与深拷贝
    C# 小软件部分(二)
    MVC 之HTML辅助方法
  • 原文地址:https://www.cnblogs.com/x1957/p/3056721.html
Copyright © 2011-2022 走看看