一个原生态ajax过程,提交表单的例子

一个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.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...