我是菜鸟,我想让这个脚本正常工作。它适用于除IE以外的所有浏览器。我已经在stackoverflow上尝试了大多数解决方案,但它们都不适用于我。我在某个地方做了一些孩子气的错误,我无法发现。请求你的帮助。
另外只是为了让你知道使用appendchild的DOM Objects格式对我来说可能无法100%正常工作,因为这个脚本基本上从下拉列表中传递值,显示从1到10的数字,并根据它提取的数字相应的图表。因此,如果我正在查看图表1,那么我可以继续选择下拉列表以查看图表3。但是如果我们使用appendchild属性,它只允许我通过选择1到10来查看其中一个图表,除非我刷新页面,否则它不起作用。因此,除非使用deletechild,否则我认为它不起作用,只是我的猜测。因此,我已经评论了该部分,我正在使用内部HTML的旧方法。
这是我的JS功能。
function showUser(str) {
debugger;
var xmlhttp = GetXmlHttpObject("Browser does not support HTTP Request");
if (str=="") {
document.getElementById("pairname").innerHTML="";
return;
}
/* <-- I HAVE ALREADY COMMENTED THIS OUT & am using a more robust function for this.
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
*/
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("pairname").innerHTML=xmlhttp.responseText;
//AS YOU CAN SEE THE ALTERNATIVE SOLUTION OF USING DOM OBJECTS HAS BEEN COMMENTED OUT.. SINCE THIS IS ALSO NOT WORKING IN IE FOR ME.
//var wrappingElement = document.createElement("div");
//wrappingElement.innerHTML = xmlhttp.responseText;
//document.getElementById('pairname').appendChild(wrappingElement);
}
}
xmlhttp.open("GET","getimgdetails.php?q="+str,true);
xmlhttp.send();
}
function GetXmlHttpObject(errorMessage) {
var r = false;
try { r = new XMLHttpRequest(); }// Opera 8.0+, Firefox, Safari
catch(e) {
// Internet Explorer Browsers
try { r = new ActiveXObject("Msxml2.XMLHTTP"); }// older IE
catch(e) {
try { r = new ActiveXObject("Microsoft.XMLHTTP"); }// IE 5+
catch(e) {// AJAX not possible
if(errorMessage) { alert(errorMessage); }
}
}
}
return r;
}
这就是我在哪里展示它
<div id="pairname"><b>Charts will be shown here.</b></div>*
这是接收和发回信息的脚本。所以基本上它显示每个数字1到10的5个图表。
$q=$_GET["q"];
Echo "<img src=mqluploads/".$q."15.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."60.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."240.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."1440.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."10080.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
Echo "<img src=mqluploads/".$q."43200.gif?".time()."></img>";
Echo "<br>";
Echo "---------------------------------------------------------";
Echo "<br>";
?>
许多人提前感谢您的帮助和阅读。过去一周我一直在努力解决这个问题,现在终于决定寻求帮助了。期待您的建议。
答案 0 :(得分:1)
你检查过你的php脚本是否正在返回一些数据。尝试直接在浏览器中访问getimgdetails.php?q = str(用正确的paremeter替换str)。
在此行之前另外发出警告(xmlhttp.responseText):
的document.getElementById( “pairname”)的innerHTML = xmlhttp.responseText;
这将帮助您进行调试。