jsonp

<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript">
			//其实说白了,就是利用src属性来加载动态拼接的js地址,而这段js代码会回调本地写好的其他js代码
			//event
			window.onload = function(){
				var oTxt = document.getElementById('baiduTxt');
				var oUl = document.getElementById('baiduUl');
				var oScript = null;
				//当输入完成,抬起按键的时候就重新加载这段script到dom中
				oTxt.onkeyup = function(){
					oUl.innerHTML = '';
					if(oScript){
						document.body.removeChild(oScript);
					}
					oScript = document.createElement('script');
					//该url返回的是一个对json函数的调用: jsonp(json) ,加载的结果就是该文本格式的函数调用被执行
					oScript.src = 'http://suggestion.baidu.com/su?wd='
						+oTxt.value
						+'&cb=jsonp';
					document.body.appendChild(oScript);
				}
			}

			//callback function,json with padding
			function jsonp(json){
				var oUl = document.getElementById('baiduUl');
				for(var i=0;i<json['s'].length;i++){
					var oLi = document.createElement('li');
					oLi.innerHTML = json['s'][i]
					oUl.appendChild(oLi);
				}
			}
		</script>
	</head>
	<body>
		<h2>Baidu Suggestion</h2>
		<input type="text" id="baiduTxt"/>
		<ul id="baiduUl"></ul>
	</body>
</html>

  

posted on 2013-11-09 22:18  架构师师  阅读(216)  评论(0编辑  收藏  举报

导航