本文主要是介绍javascript使用jsonp数据跨域传输获取,这样传输不受限制,没有像xhr那样必须先设置header()才行,但这样跨域会有风险比如恶意代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//getmsg.php文件,这里的域名为www.xuejq.mm/getmsg.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title><script type="text/javascript">// 得到航班信息查询结果后的回调函数var flightHandler = function(data){alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。');};// 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)var url = "http://www.cssxue.mm/flighthandler.php?code=CA1998&callback=flightHandler";// 创建script标签,设置其属性var script = document.createElement('script');script.setAttribute('src', url);script.setAttribute('type','text/javascript');// 把script标签加入head,此时调用开始document.head.appendChild(script); </script>
</head>
<body></body>
</html>
//这里是www.cssxue.mm/flighthandler.php文件,这里是存储jsonp数据
//其实这个文件可以是任何后缀,js,json,jsonp,php,asp,aspx后缀的都可以
flightHandler({"code":"CA1998","price":1780,"tickets":5
});
这篇关于javascript使用jsonp数据跨域传输获取,这样传输不受限制,没有像xhr那样必须先设置header()才行,但这样跨域会有风险比如恶意代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!