以下是我發生的問題,不知是否有人知道為什麼
我在 IE 執行都是正常的,但是在 Firefox 卻出現問題了,先說明 XML 檔案沒問題。
第一個
代碼:
alert(CalXml_request.readyState);
執行呈現 1,照程式判斷應該是直接執行
代碼:
alert('CalXml_request.readyState != 4.');
才對,但是卻執行了
代碼:
alert(CalXml_request.readyState);
alert(Cal_xmldoc);
而這回的
代碼:
alert(CalXml_request.readyState);
卻是呈現 4。
如果把第一個
代碼:
alert(CalXml_request.readyState);
這段拿掉
程式直接跳到
代碼:
alert('CalXml_request.readyState != 4.');
然後結束..@@
完整程式碼如下
代碼:
<script type="text/javascript" language="javascript">
<!--
function makeRequest(url) {
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.open('GET', url, true);
http_request.send(null);
return http_request;
}
function GetXmlData() {
var cal_xml = 'http://127.0.0.1/baby2/rss/mem_calendar/cal_mem_2.xml';
var CalXml_request = makeRequest(cal_xml);
alert(CalXml_request.readyState);
if (CalXml_request.readyState == 4) {
if (CalXml_request.status == 200) {
var Cal_xmldoc = CalXml_request.responseXML;
alert(CalXml_request.readyState);
alert(Cal_xmldoc);
} else {
alert('CalXml_request.status != 200.');
}
}else{
alert('CalXml_request.readyState != 4.');
}
}
-->
</script>
<span onclick="GetXmlData();"> Make a request </span>