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>

相关推荐