HttpRequestXML使用例子

参考javascript dom编程艺术一书写的,其中readyStae的5个状态的值的含义如下:
0: (Uninitialized) the send( ) method has not yet been invoked.
1: (Loading) the send( ) method has been invoked, request in progress.
2: (Loaded) the send( ) method has completed, entire response received.
3: (Interactive) the response is being parsed.
4: (Completed) the response has been parsed, is ready for harvesting.

0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
更加详尽的内容请参考:[url]http://13521308103.iteye.com/blog/1993394[/url]

var xmlHttp,td,text;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}

function subimtForm(){
if(fileSelected()){
createXMLHttpRequest();
document.forms[0].submit();
window.setInterval("setProcessState()", 2000);
document.getElementById("processStateRow").removeAttribute("style");
document.getElementById("processStateRow").setAttribute("style","visibility: visible;");
}
}

function fileSelected(){
if (document.getElementsByTagName("input")[0].value) {
document.getElementsByTagName("a")[0].removeAttribute("onclick");
return true;
} else {
alert("请先选择文件后再导入!");
return false;
}
}

function setProcessState(){
xmlHttp.open("GET", "./getProcessRow", false);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState == 4) {
td ? null : td = document.getElementById("processState");
if(isNaN(parseInt(xmlHttp.responseText))){
text = document.createTextNode(xmlHttp.responseText);
td.childNodes[0] ? td.replaceChild(text,td.childNodes[0]) : null;
} else {
text = document.createTextNode("已处理:"+xmlHttp.responseText+" 行");
td.childNodes[0] ? td.replaceChild(text,td.childNodes[0]) : null;
}
}
}
xmlHttp.setRequestHeader('If-Modified-Since', '0');
xmlHttp.send(null);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值