1. 程式人生 > >AJAX 跨域呼叫 快遞查詢API介面

AJAX 跨域呼叫 快遞查詢API介面

javascript預設是允許跨域操作的,比如a.com下不能操作b.com下的DOM,ajax也一樣。但是javascript卻允許從a.com從b.com引用js檔案,JSONP正式跟據這個原理實現了跨域操作。
下面這個例子是採用jQuery框架的getJSON方法,注意必須新增callback=?引數,其中的“?”系統會自動替換。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JSONP呼叫愛查快遞API</title>
<script language="javascript" src="js/jquery.js"></script>
<script language="javascript">
var _url='http://api.ickd.cn/?com=shentong&nu=468299202580&id=568AC6659ED39224A0E687698018D747&encode=utf8&type=json&callback=?';
function jsonp(){
	
	$.getJSON(_url,function(json){
			if(json.status && json.data){
				var html='<table><tr><th>時間</th><th>進度</th></tr>';
				$.each(json.data,function(i,item){
							html+='<tr><td>'+item.time+'</td><td>'+item.context+'</td></tr>';		
				});
				html+='</table>';
				$('#json_re').html(html);
			}
		}
	);
}
function a2(){
	$.ajax({
		url:_url,
		type:'get',
		dataType:'JSONP',
		success:function(data){
			alert(data);
		}
	});
}
</script>

</head>
<body>
<input type="button" onClick="jsonp()" value="測試">
<input type="button" onClick="a2()" value="測試">
<div id="json_re"></div>
</body>
</html>
測試時請直接將程式碼儲存在本開啟即可。