参考:navy_xue的专栏,网址:http://blog.csdn.net/navy_xue/article/details/40016475
1 js跨域
<script type="text/javascript"> var url="http://localhost:8080/examTest/servlet/testjson?jsonp=callbackfunction"; var script=document.createElement('script'); script.setAttribute('src',url); document.getElementsByTagName('head')[0].appendChild(script); //回调函数 function callbackfunction(data){ var html=JSON.stringify(data.RESULTSET); //stringify,把json对象转换为json字符串 console.log(html); insertBody(html); //插入body第一个元素之前 } function insertBody(html){ var divObj=document.createElement("div"); divObj.innerHTML=html; var first=document.body.firstChild;//得到第一个元素 document.body.insertBefore(divObj,first);//在原来的第一个元素之前插入 } </script>
<body> 原生js实现jsonp跨域 <br> </body>
2 jquery跨域和ajax跨域
$(function(){ jQuery.getJSON("http://localhost:8080/examTest/servlet/testjson?jsonp=?", function(data){ var html=JSON.stringify(data.RESULTSET); $("#testjsonp").html(html); }); });
//jquery中ajax实现jsonp代码 //注意此时代码中默认参数为callback,而不是其他的,用 String cb=request.getParameter("callback");获取 $(document).ready(function(){ $.ajax({ type:"POST", async :false, url:"http://localhost:8080/examTest/servlet/testjson",//默认参数为callback,注意 dataType:"jsonp", success:function(data){ var html=JSON.stringify(data.RESULTSET); $("#testjsonpTwo").html(html); }, error:function(){ alert("error"); } }); }); </script>
<body> jquery实现jsonp跨域 <br> <div id="testjsonp"> </div> <br/><hr/> <div id="testjsonpTwo"> 第二次显示 </div> </body>
实现的效果为:
jquery实现jsonp跨域
[{"bank_name":0,"bank_status":0,"money_type":0,"bank_no":100,"en_sign_ways":1,"bank_type":0},{"bank_name":1,"money_type":1,"bank_no":101,"bank_type":1},{"bank_name":2,"money_type":2,"bank_no":102,"bank_type":2},{"bank_name":3,"money_type":3,"bank_no":103,"bank_type":3}]
[{"bank_name":0,"bank_type":3}]
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|