您的位置:首页 > Web前端 > JQuery

JQuery Ajax jsonp 跨域请求

2013-10-25 09:51 309 查看
<html xmlns="http://www.w3.org/1999/xhtml" >
<head> <title>Jsonp跨域请求</title>
<script type="text/javascript" src=jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$.ajax({
type: "get",
async: false,
url: "http://www.abc.com/test.php?code=K675",
dataType: "jsonp",//数据类型
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonpCallback:"getTrainInfo",//自定义的jsonp回调函数,默认为jQuery自动生成的随机函数名也可以写"?",jQuery会自动为你处理数据
success: function(json){
alert('您查询到火车班次信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。');
},
error: function(){
alert('fail');
         }
});
});
</script>
</head>
<body>
</body>
</html>


注意: jquery在处理jsonp类型的ajax时,自动帮你生成回调函数并把数据取出来供success属性方法来调用,所以不用再去写函数getTrainInfo()了。
   ajax和jsonp其实本质上是不同的东西。ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提供的js脚本,所以只是因为jquery把jsonp封装进了ajax,人们才误认为jsonp是ajax的一种。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: