【发布时间】:2011-10-30 06:38:01
【问题描述】:
所以我有一个简单的 AJAX 请求(不是 JQuery):
function ajaxfunction(){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser sucks"); //error
return false;
}
}
}
ajaxRequest.open("GET", 'pull.php?ms='+new Date().getTime(), true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
}
我希望请求也能拉出图片。由于请求是动态的(显示的图像会改变),我一遍又一遍地请求。但是,这会使图像闪烁。我试过<img src="foobar.jpg" style="visibility:none;" onLoad="this.style.visibility='visible';" /> 但这并没有真正的帮助。如果有人知道任何解决方法,请提前感谢您。 :D
【问题讨论】:
-
使用
Your browser sucks作为浏览器不支持 XMLHttpRequest 的通知不是最佳实践哈哈,更不用说如果没有启用 javascript,alert() 无论如何都不会发生,想想 linx.. -
刚刚注意到您没有在提供的代码中检查 ajax 响应的状态代码。您可能还需要考虑检查状态代码 200。