国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > XMLHttpRequest 的使用······

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);
}





























生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生