jsonp跨域筆記

1.javascript

                 var request = "http://baidu.origin?id=" + id+ "&url=" + encodeURIComponent(url);
                  var script = document.createElement("script");
                  script.type = "text/javascript";
                  script.src = request;
                  document.getElementsByTagName('head')[0].appendChild(script);

此方法會在head標籤結尾處建立script標籤。java

2.ajax

           var url="http://baidu.origin?id=" + id+ "&url=" + encodeURIComponent(url) + "?callback=aa";
           function aa (data) {
               //處理返回值
           }
           $.ajax({
              url: "url",
              crossDomain: true,
              dataType: 'jsonp',
              type: 'get',
              data: {
               jsonp: 'callback'
              },
              //          jsonpCallback: 'aa'
           });

此方法會在head標籤最前面建立script標籤。json

其中,aa函數是後臺傳過來的數據。app

項目中有個需求,每5秒發一次請求,可是這樣存在一個問題就是頁面會加載大量的script標籤。函數

解決方法是,再寫一個settimeout函數,每秒刪除一次head標籤裏最後的標籤或者開頭的標籤。jsonp

如: $("head script").last().remove()url

相關文章
相關標籤/搜索