jsonp的形成原因: 浏览器的跨域请求限制。
浏览器是不允许直接跨域请求数据的,jsonp就是利用script标签可以跨域获取数据来工作的
步骤:
1.建一个函数,这个函数名(如此例中的jsonpCallback是要传给后端的)
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <script type="text/javascript"> function jsonpCallback(result) { //alert(result); for(var i in result) { alert(i+":"+result[i]);//循环输出a:1,b:2,etc. } } var JSONP=document.createElement("script"); JSONP.type="text/javascript"; JSONP.src="http://crossdomain.com/services.php?callback=jsonpCallback"; document.getElementsByTagName("head")[0].appendChild(JSONP); </script>
2.新建一个script标签,src指向域名
3.将script插入body中
前端部分就是如此
--------------------------------------
用jquery实现
$.ajax({ url: ‘http://10.95.192.27:8080/honeybee/zhuanti/export.action‘, dataType: "jsonp", jsonp: "topicsCallback", success: function(){} });
jsonp: 即与后端定好的名称。具体的处理函数在success里
时间: 2024-10-03 23:02:26