一个ajax,首先要  创建对象---发出请求---响应----响应完成(readystate)


  1. 创建对象

    var xmlhttp;

    if(window.ActiveXObject){        //IE6以下

      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    }else{

      xmlhttp=new XMLHttpRequest();

    }


2.获取表单数据

    var username=document.getElementById("username").value;

    var password=document.getElementById("password").value;

    var data="USERNAME"+username+"&PASSWORD"+password;

    var url="/test.php";

 

3.提交数据

    xmlhttp.onreadystatechange=function(){

     if(xmlhttp.readyState==4&&xmlhttp.status==200){

         document.getElementById("result").innerHTML=xmlhttp.responseText;

      }

   }

   xmlhttp.open("post",url,true);   //表单提交只能用post,异步加载为true;

      //像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头

   xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

   xmlhttp.send(data);




   php代码如下:

   welcome<?php echo $_POST["username"];?>  <br/>

   password<?php echo $_POST["possword"];?>




   ps: onreadystatechange()方法特殊,其闭包中不能用this来指代object对象,因为在这个方法中,this指的是window.