一个ajax,首先要 创建对象---发出请求---响应----响应完成(readystate)
创建对象
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.