web前端js跨域的两种实现方式jsonp和src

来源:互联网 发布:种植牙植体品牌 知乎 编辑:程序博客网 时间:2024/06/01 19:50


1、ajax jsonp跨域局限性,返回的数据类型必须是json对象,否则报错

                $.ajax(  
     {  
         type:'get',  
         url : "http://192.168.120.77:8081/queryTopPageParams?callback=?",  
         dataType : 'jsonp',  
         //processData: false, 
         success  : function(data) {        
              var tem=JSON.stringify(data) ;
             alert(tem);  
             document.getElementById("ta").innerText=tem;
         },  
         error : function() {  
             alert('fail');  
         }  
     }  
  );


2、script的src对返回的数据格式没有限制,但是必须是可执行的js,否则也报错

           <script type="text/javascript">

             function testscf(){

               var script = document.createElement("script");
          script.type = "text/javascript";
         script.src = "http://192.168.120.77:8082/getInfoTopState?callback=callback&param0=26013228451269L&param1=1000";
 
         var head = document.getElementsByTagName("head")[0];
         head.insertBefore(script, head.firstChild);

               }

               function callback(res) {
                   alert(res);
                   document.getElementById("ta").innerText = res;
                }     

         </script>


          <input type="button" id="test4" value="submit" onclick="testscf();"/><br>

         <textarea id="ta" rows="5" cols="30">
</textarea>

0 0
原创粉丝点击