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
  • 相关阅读:
    poj1328
    xml入门简介--两天学会xml
    php的一些特殊用法
    数据结构(一)
    队列的 基本操作
    栈的 基本操作
    线性表----单链表
    线性表----顺序表
    数据结构
    链式队列
  • 原文地址:https://www.cnblogs.com/x1957/p/3056721.html
Copyright © 2011-2022 走看看