首先我们来了解怎么在javascrīpt中创建这个对象: var xmlHttp = new XMLHttpRequest(); 这行简单的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象。但是对于市场占有率达到70%的IE来说,这种方法是不行的,而不同的IE版本还有不同的创建方法,所以我们需要在IE下面使用下面两种创建对象的办法:
if (!xmlHttp){ alert("无法创建 XMLHttpRequest 对象!"); } 结合起来就是:
复制代码 代码如下:
var xmlHttp = false; try { xmlHttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlHttp = false; } } } if (!xmlHttp){ alert("无法创建 XMLHttpRequest 对象!"); }
然后,让我们建立一个函数getInfo(),打开异步请求:
复制代码 代码如下:
function getInfo() { var num = document.getElementById("num").value;//获得表单的数据 var url = "/ajax/1.php?n=" + escape(num); xmlHttp.open("GET", url, true);//这里的true代表是异步请求 }
function getInfo() { var num = document.getElementById("num").value;//获得表单的数据 var url = "/ajax/1.php?n=" + escape(num); xmlHttp.open("GET", url, true);//这里的true代表是异步请求 xmlHttp.onreadystatechange = updatePage; xmlHttp.send(null); }
我们还需要在html里面来触发这个函数:
下面我们需要来编写updatePage()这个函数:
function updatePage(){ if (xmlhttp.readyState == 4) { var response = xmlhttp.responseText; document.getElementById("city").value = response; } } 上面这段代码里面的readyState是服务器返回的一个状态,4这个状态表示请求已经发送,并处理完毕。responseText是获得服务器返回的信息,然后通过javascrīpt赋给ID为city的表单。
到此,一个简单的Ajax程序就完成了,完整的javascrīpt代码如下:
var xmlHttp = false; try { xmlHttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlHttp = false; } } } if (!xmlHttp){ alert("无法创建 XMLHttpRequest 对象!"); }
function getInfo() { var num = document.getElementById("num").value;//获得表单的数据 var url = "/ajax/1.php?n=" + escape(num); xmlHttp.open("GET", url, true);//这里的true代表是异步请求 xmlHttp.onreadystatechange = updatePage; xmlHttp.send(null); }
function updatePage(){ if (xmlhttp.readyState == 4) { var response = xmlhttp.responseText; document.getElementById("city").value = response; } } 这里还缺一个php文件,由于处理的方式不一样,写法也不一样,而且这不是Ajax的主要部分,所以这里就不放代码了。只要记住php是输出并返回所需要的数据就可以了。
好久没更新,今天看到这教程,对初学者挺适合.
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn