对于Ajax,最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的操作。
创建XMLHttpRequest对象
代码如下:
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
代码如下:
xmlHttp = new XMLHttpRequest();
不同的浏览器对javascript中的XMLHttpRequest对象的支持是不一样的,所以需要根据情况做一下判断。
方法
打开请求
代码如下:
XMLHttpRequest.open(传递方式,地址,是否异步请求)
准备就绪执行
代码如下:
XMLHttpRequest.onreadystatechange
获取执行结果
代码如下:
XMLHttpRequest.responseText
PHP+Ajax的例子:
首先是test.js文件: 代码如下:
var xmlHttp;
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function PHP100(url){
S_xmlhttprequest();
xmlHttp.open("GET","do.PHP?id="+url,true);
xmlHttp.onreadystatechange=byPHP;
xmlHttp.send(null);
}
function byPHP(){
var byPHP100=xmlHttp.responseText;
document.getElementById('PHP100').innerHTML=byPHP100;
}
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function PHP100(url){
S_xmlhttprequest();
xmlHttp.open("GET","do.PHP?id="+url,true);
xmlHttp.onreadystatechange=byPHP;
xmlHttp.send(null);
}
function byPHP(){
var byPHP100=xmlHttp.responseText;
document.getElementById('PHP100').innerHTML=byPHP100;
}
然后是执行PHP操作的文件,do.PHP
代码如下:
然后是前端显示页面,test.html
代码如下: