<script type="text/javascript"> var xmlrequest = ""; function getXMLrequest(){ var xmlHttp = ""; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("您的浏览器不支持AJAX!"); return false; } } } return xmlHttp; } function ajaxtest(){ xmlrequest = getXMLrequest(); if(xmlrequest){ //使用get方式发送请求 //var url = "test2.php?username="+$("username"); //xmlrequest.open("GET",url,true); //使用POST来发送数据请求 var data = "username="+$("username"); var url = "test2.php"; xmlrequest.open("POST",url,true); xmlrequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlrequest.onreadystatechange = onsuccess; xmlrequest.send(data); } } function onsuccess(){ //window.alert(xmlrequest.readyState); if(xmlrequest.readyState == 4){ //1,获取文本内容 //window.alert(xmlrequest.responseText); //2,获取xml内容 //window.alert(xmlrequest.responseXML.getElementsByTagName('name')[0].childNodes[0].nodeValue); //3,获取JSON数据内容 var temp = eval("("+xmlrequest.responseText+")"); alert(temp[0].name); } } function $(id){ return document.getElementById(id); } </script>
AJAX脚本
两种请求
GET、POST
三种返回结果
文本=>reaponseText, xml=>responseXML, JSON => responseText
1,注意事项,发送的请求method要和接受页面的保持一致
2,从根本上来说一共四部,
- 实例化xmlhttprequest对象,
- xmlhttprequest对象对请求进一步处理,发给对应的页面
- 对应的页面接收到请求后,整理数据,并发给xmlhttprequest对象
- xmlhttprequest接收到数据后,调用回调方法onsuccess来执行相应的操作。
3,请求方式为POST的时候要在open的后面添加下面的
myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
4,注意,使用XML数据格式的时候,一定要注意返回的数据格式是XML的格式,并且读取的是自己想要获取的那个tag的值