作者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