jsonp 全称是JSON with Padding
我们大家都知道ajax是不能发起跨域请求,现在可以通过jsonp来弥补ajax的这一缺陷
通过script标签的src属性就可以实现跨域请求。如现在的互联网调优,引用goole,百度等的常用js文件,通过浏览器的缓存机制可以实现互联网调优。
下面是原生js实现跨域请求,走码
方式一: <script type="text/javascript" src="http://localhost:23415/2012Test/testJasonp.ashx?callback=mycallback"></script><!--这里的地址指跨域地址-->方式二: <script type="text/javascript"> function createScript() { var myScript = document.createElement("script"); myScript.setAttribute("type", "text/javascript"); myScript.setAttribute("src", "http://localhost:23415/2012Test/testJasonp.ashx?callback=mycallback"); document.body.appendChild(myScript); } function mycallback(data) { alert(data.msg); } window.onload = function () { document.getElementById("getOtherDomainData").addEventListener("click", function () { createScript(); }); } </script><input type="button" id="getOtherDomainData" value="发起跨域请求" /> //testJasonp.ashx返回的数据为context.Response.Write("mycallback({\"msg\":\"ok\"})");
当然通过jquery就可以轻易实现jsonp
时间: 2024-10-10 13:21:23