Ajax API介绍,以及html5的新特性,jsonp的用法

前端之家收集整理的这篇文章主要介绍了Ajax API介绍,以及html5的新特性,jsonp的用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
jsonp其实是与ajax无任何关系。它就是利用第三方API,无刷新得到数据。它也没有用到XHR对象,它是利用js加载的特性,加载一个资源路径。再用回调函数处理即可,它的跨域问题是相对于ajax来说的,
ajax是有限制的。下面一个小实例就是用google api 做了一个查询功能
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function createXHR(){
	var xhr;
	if(window.XMLHttpRequest){
		xhr=new XMLHttpRequest();
	}else if(window.ActiveXObject){
		xhr=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xhr;
}
var xhr=createXHR();
function register(){
	xhr.open('POST',"vote.PHP",true);
	xhr.setRequestHeader("Content-Type:application/x-www-form-urlencoded");
	//xhr.setHeader("Content-Type:application/x-www-form-urlencoded"); 两个方法都可以
	xhr.onreadystatechange=function(){
		//this.readyState=0 时刚创建,1时打开open 2时成功接收hader 3 成功接收主体 4 断开连接 之后
		if(this.readyState==4&&this.status==200){
			alert(this.reponseText);
			alert(this.rsponseXML);
			alert(this.getResponseHeader("Content-type"));
			alert(this.getResponseHeader("Content-length"));
		}
	}
	//var fd=new FormData('form对象');html5新特性  fd.append('username','zhangshan');追加数据
	var name=document.getElementByName('name')[0];
	var email=document.getElementByName('email')[0];

	xhr.send("name="+name+"&email"+email);
}

//用第三方接口 google 查询跨域请求。jsonp 与ajax无关
function searchKeyword(){
	var sea=document.getElementsByName('search')[0].value;
	var url='http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q='+sea+'&callback=returnResponse';
	var scr=document.createElement('script');
	scr.setAttribute('src',url);
	document.getElementsByTagName('head')[0].appendChild(scr);
}

function returnResponse(res){
	var data=res.responseData.results;
	var str='';
	for(var i in data){
		str+=data[i].title+'<br/>';
		str+=data[i].url+'<br/>';
		str+=data[i].content+'<br/>';
	}
	alert(str)
	document.getElementById('res').innerHTML=str;
}
</script>
</head>
<body>
<form action="vote.PHP" method="post">
<input type="text" name="name" />
<input type="text" name="email"/>
<input type="submit"/>
</form>
<div id="abc"></div>
<input type="button"  onclick="test1();"value="测试" />
<input type="text" name="search"/>

<input type="button" value="查询" onclick="searchKeyword();"/><div id="res"></div>
</body>
</html>

猜你在找的Ajax相关文章