手写PHP AJAX数据脚本

时间:2023-03-09 17:37:44
 <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的值