jQuery实现jsonp调用
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>UntitledPage</title>
<scripttype="text/javascript"src=jquery.min.js"></script>
<scripttype="text/javascript">
jQuery(document).ready(function(){
$.ajax({
type:"get",
async:false,
url:"http://flightQuery.com/jsonp/flightResult.aspx?code=CA1998",
dataType:"jsonp",
jsonp:"callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据,jquery自动生成的
success:function(json){
alert('您查询到航班信息:票价:'+json.price+'元,余票:'+json.tickets+'张。');
},
error:function(){
alert('fail');
}
});
});
</script>
</head>
<body>
</body>
</html>
普通的调用方式
<head>
<title></title>
<scripttype="text/javascript">
//得到航班信息查询结果后的回调函数
varflightHandler=function(data){
alert('你查询的航班结果是:票价'+data.price+'元,'+'余票'+data.tickets+'张。');
};
//提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)
varurl="http://flightQuery.com/jsonp/flightResult.aspx?code=CA1998&callback=flightHandler";
//创建script标签,设置其属性
varscript=document.createElement('script');
script.setAttribute('src',url);
//把script标签加入head,此时调用开始
document.getElementsByTagName('head')[0].appendChild(script);
</script>
</head>