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

相关文章
相关标签/搜索