XMLHttpRequest 的使用······
来源:程序员人生 发布时间:2014-11-14 08:35:26 阅读次数:2380次
// JavaScript Document
/*创建XMLHttpRequest对象
*这段代码的核心分为3步:
1、建立1个变量 xmlHttp 来援用行将创建的 XMLHttpRequest 对象。
2、尝试在 Microsoft 阅读器中创建该对象:
1)尝试使用 Msxml2.XMLHTTP 对象创建它。
2)如果失败,再尝试 Microsoft.XMLHTTP 对象。
3、如果依然没有建立 xmlHttp,则以非 Microsoft 的方式创建该对象。
*/
function createXmlHttp(){
var xmlHttp = false;
try {
//在 Microsoft 阅读器上创建 XMLHttpRequest 对象
//如果使用较新版本的 Internet Explorer,则需要使用对象 Msxml2.XMLHTTP
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
//较老版本的 Internet Explorer 则使用 Microsoft.XMLHTTP
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
//在非 Microsoft 阅读器上创建 XMLHttpRequest 对象
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
/*发出要求:
在所有 Ajax 利用程序中基本都雷同的流程:
1、从 Web 表单中获得需要的数据。
2、建立要连接的 URL。
3、打开到http://www.wfuyu.com/server/的连接。
4、设置http://www.wfuyu.com/server/在完成后要运行的函数。
5、发送要求。
*/
function callServer() {
// Get the city and state from the web form
var city = document.getElementById("city").value;
var state = document.getElementById("state").value;
// Only go on if there are values for both fields
if ((city == null) || (city == "")) return;
if ((state == null) || (state == "")) return;
// Build the URL to connect to
var url = "/scripts/getZipCode.php?city=" + escape(city) + "&state=" + escape(state);
// Open a connection to the server
xmlHttp.open("GET", url, true);
// Setup a function for the server to run when it's done
xmlHttp.onreadystatechange = updatePage;
// Send the request
xmlHttp.send(null);
}
/*xmlHttp的 onreadystatechange 属性可以告知http://www.wfuyu.com/server/在运行完成后做甚么。
由于代码没有等待http://www.wfuyu.com/server/,必须让http://www.wfuyu.com/server/知道怎样做以便您能作出响应。
在这个示例中,如果http://www.wfuyu.com/server/处理完了要求,1个特殊的名为 updatePage() 的方法将被触发。
需要特别注意的是该属性在代码中设置的位置 ―― 它是在调用 send() 之前 设置的。
发送要求之前必须设置该属性,这样http://www.wfuyu.com/server/在回答完成要求以后才能查看该属性
*/
function updatePage() {
if (request.readyState == 4)
if (request.status == 200)
alert("Server is done!");
else if (request.status == 404)
alert("Request URL does not exist");
else
alert("Error: status code is " + request.status);
}
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠