作者qaz0601 (0601)
看板Ajax
标题[问题] ajax无法在IE6运作,但FireFox可以
时间Fri May 30 19:19:04 2008
不好意思
小妹是第一次写AJAX,因为做网页要用到其中一种功能才试着照书写看看的...
是一个验证资料库是否有重复使用者帐号的程式
但是完成之後却发现火狐可以跑
但IE6不行
查过了网路上的资料,有不少人提供方法 但试了还是不行
可以麻烦各位帮我看看吗?
大感谢!
// 建立XMLHttpRequest物件
function getHttpRequestObject(handler) {
// 建立XMLHttpRequest物件
var httpRequest = null;
if ( window.XMLHttpRequest) {
// IE7, Mozilla, Safari等浏览程式
httpRequest = new XMLHttpRequest();
} else if ( window.ActiveXObject ) { // IE5, IE6
// 找出最新版MSXML剖析器
httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); // Internet
Explorer
var msxmls = [ "MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp",
"Microsoft.XMLHttp"];
for ( i=0; i< msxmls.length; i++ ) {
try { // 建立XMLHttpRequest物件
httpRequest = new ActiveXObject(msxmls[i]);
break;
} catch ( e ) {
return null;
}
}
}
// 指定事件处理程序的名称
httpRequest.onreadystatechange = handler;
return httpRequest;
}
// 开启和送出非同步请求
function makeRequest(httpRequest, url) {
httpRequest.open("GET", url, true); // 开启
httpRequest.send(null); // 送出
}
var xmlHttp;
// 送出HTTP请求来验证使用者名称
function validateUser(value) {
// 建立XMLHttpRequest物件
xmlHttp = getHttpRequestObject(showUser);
if ( xmlHttp != null ) {
var url = "validateUser.asp"; // 建立URL网址
url = url + "?user=" + value;
randNo = parseInt(Math.random()*999999999);
// 新增乱数避免缓冲区问题
url = url + "&rand=" + randNo;
makeRequest(xmlHttp, url); // 建立HTTP请求
}
else {
alert ("错误! 浏览程式不支援XMLHttpRequest物件!");
return;
}
}
// 显示使用者是否已经存在
function showUser() {
if ( xmlHttp.readyState == 4 ) {
// 取得回应
var xmlResult = xmlHttp.responseXML;
var str = xmlResult.getElementsByTagName("msg")[0];
document.getElementById("result").innerHTML =
str.childNodes[0].nodeValue;
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.240.186.17
1F:推 pply:贴个错误讯息比较帮得上你的忙~~~~ 05/30 19:55
2F:→ qaz0601:错误讯息是我当在测试帐号时,就会弹出视窗 05/31 00:28
3F:→ qaz0601:显示:错误! 浏览程式不支援XMLHttpRequest物件! 05/31 00:28
4F:→ qaz0601:谢谢你^^ 05/31 00:29