<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      張凡文

      只寫最接地氣的文章^_^

      導航

      AJAX JSONP源碼實現(原理解析)

       

      關于JSONP以及跨域問題,請自行搜索。

      本文重點給出AJAX JSONP的模擬實現代碼,代碼中JSONP的基本原理也一目了然。

      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
          <title>模擬實現AJAX JSONP源碼</title>
          <script type="text/javascript">
          
          // 生成隨機字符串
          function randomString(len) {
              len = len || 32;
              var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhijklmnoprstuvwxyz1234567890";  
              var maxPos = chars.length;
              var pwd = '';
              for (i = 0; i < len; i++) {
                  pwd += chars.charAt(Math.floor(Math.random() * maxPos));
              }
              return pwd;
          }
      
          function ajax_jsonp(data) {
          
              // 生成隨機函數名并指向傳入的回調函數
              var callbackfun = "jquery_" + randomString(32);
              eval( callbackfun+ " = data.success; "); 
              
              // 提供jsonp服務的url地址(不管是什么類型的地址,最終生成的返回值都是一段javascript代碼)
              var url = data.url + "&callback="+callbackfun;
              // 創建script標簽,設置其屬性
              var script = document.createElement('script');
              script.setAttribute('src', url);
              // 把script標簽加入head,此時調用開始
              document.getElementsByTagName('head')[0].appendChild(script); 
          
          }
          
          // 模擬調用
          ajax_jsonp({
              url: "http://sax.sina.com.cn/newimpress?adunitid=PDPS000000047325&rotate_count=36",
              success: function(data){
                  alert('ID ' + data.ad[0].id );
              }
          });
          
          </script>
      </head>
      <body>
      
      </body>
      </html>

       

       

      基本工作思路:

      1. 創建一個隨機字符串作為回調函數名

      2. 把傳入的回調函數賦值給隨機函數。

      3. 把該隨機函數名作為callback參數補充到傳入的URL(真正要訪問的跨域的URL)中

      4. 動態創建出script元素并觸發URL的訪問。瀏覽器獲取返回的JS代碼并執行,也就是執行了傳入的回調函數。

      (第三方URL返回的必須是一個合法的JS函數調用字符串,其中函數名是參數callback,參數是真正要返回的數據。)

       

      參考文章(文中代碼基于該參考文章修改)

      posted on 2016-05-12 18:25  張凡文  閱讀(2661)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 看免费真人视频网站| 亚洲精品一区国产精品| 国产精品疯狂输出jk草莓视频| 天美传媒xxxxhd videos3| 欧美成人午夜精品免费福利| 人妻少妇久久中文字幕一区二区| 欧美国产亚洲日韩在线二区| 久久人妻夜夜做天天爽| 久久自己只精产国品| 亚洲AV国产福利精品在现观看| 国产三级精品三级在专区| 青青草国产自产一区二区| 中文字幕制服国产精品| 999精品全免费观看视频| 国产精品综合一区二区三区| 人与禽交av在线播放| 最新亚洲人成网站在线观看| 国内女人喷潮完整视频| 亚洲国产在一区二区三区| 国产成人一区二区三区免费| 国产成人高清亚洲综合| 日韩有码精品中文字幕| 成全高清在线播放电视剧| 国产午夜精品福利免费不| 四虎成人精品永久网站| 国产欧美va欧美va在线| 亚洲中文久久久久久精品国产| 久久亚洲国产欧洲精品一| 国产亚洲制服免视频| 麻豆精品在线| 国产真正老熟女无套内射| 好男人社区影视在线WWW| 少妇仑乱a毛片无码| 亚洲高清成人av在线| 18av千部影片| 日韩国产成人精品视频| 精品乱人伦一区二区三区| 蜜臀av无码一区二区三区| 阳谷县| 99久久亚洲综合精品成人| 成人av午夜在线观看|