由於某些原因,以下代碼在Internet Explorer中可用,但不適用於Chrome或Firefox。 我在此瀏覽器中收到:在Internet Explorer中收到但未在Chrome中收到的Ajax響應:
「無法檢索滑塊數據」。
警報。
我想用這個幫助一下。
謝謝。
這裏是我的JavaScript代碼:
<script>
if (navigator.appName == "Microsoft Internet Explorer")
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
request = new XMLHttpRequest();
}
if (request == null)
alert ("Your browser doesn't support XMLHttpRequest");
function getSelectedText(elementId)
{
var elt = document.getElementById(elementId);
if (elt.selectedIndex == -1)
return null;
return elt.options[elt.selectedIndex].value;
}
function sendRequest()
{
debugger;
var type = getSelectedText('dropdown');
//alert("The chosen type: "+type);
var url = 'https://tomcat-emildesign.rhcloud.com/coupons/Client/serveranswer.jsp?type=' + type;
request.open("GET", url, true);
request.onreadystatechange= processRequest;
request.send(null);
}
function processRequest()
{
if (request.readyState == 4)
{
if (request.status == 200)
{
parseMessage();
}
else
{
alert ("Not able to retrieve sliders data.");
}
}
}
function parseMessage()
{
// Assign the XML file to a var variable.
var doc = request.responseXML;
var pending, hires, rejected;
if(navigator.appName == "Microsoft Internet Explorer")
{
pending = doc.documentElement.getElementsByTagName('pending').item(0).text;
hires = doc.documentElement.getElementsByTagName('hires').item(0).text;
rejected = doc.documentElement.getElementsByTagName('rejected').item(0).text;
}
else
{
pending = doc.documentElement.getElementsByTagName('pending')[0].textContent;
hires = doc.documentElement.getElementsByTagName('hires')[0].textContent;
rejected = doc.documentElement.getElementsByTagName('rejected')[0].textContent;
}
alert("values:" + pending + "," + hires + "," + rejected);
}
我建議你使用像'JQuery'這樣的框架,它可以解決你的跨瀏覽器問題。 – KBN 2013-02-12 18:52:13
@xFortyFourx有趣的是,你提到,在當前的jQuery版本中存在一個主要的問題:ajax – Christophe 2013-02-12 19:01:28
@Christophe嗯,我沒有意識到這一點。 – KBN 2013-02-12 19:02:16