Internet Explorer 8中出现Javascript/Ajax错误消息!顺便说一下,这还不是最令人震惊的部分
there's a Javascript/Ajax error message in Internet Explorer 8! by the way this is not the shocking part
function a (){
var b = null;
if(window.XMLHttpRequest) b = new XMLHttpRequest();
else if(window.ActiveXObject) b = new ActiveXObject("Microsoft.XMLHTTP");
if(!b) b = new ActiveXObject("msxml2.XMLHTTP");
return b;
}
var b=a();
function c(){
var u = "ajax3_php.php?w="+ parseInt(Math.random()*88888);
b.onreadystatechange = function (){
if(b.status == 200 && b.readyState == 4){
document.getElementById("divid").innerHTML = b.responseText;
}
}
b.open("get", u, true);
b.send();
}
在目标页面"ajax3_php.php":
<?php
echo "OK";
?>
和"divid" id
& lt;div id = "divid "> Test
错误信息是:
Message: Unspecified error.
Line: 20
Char: 3
Code: 0
URI: http://localhost/lat1/ajax/ajax3.php
令人震惊的部分是,这是在第20行:
if(b.status == 200 && b.readyState == 4){
这有什么不对?
供参考:firebug什么也没说
这段代码似乎奏效了。
function a()
{
var b = null;
if(window.XMLHttpRequest)
{
b = new XMLHttpRequest();
}else if(window.ActiveXObject)
{
b = new ActiveXObject("Microsoft.XMLHTTP");
}
if(!b)
{
b = new ActiveXObject("msxml2.XMLHTTP");
}
return b;
}
var b = a();
function c()
{
var u = "ajax3_php.php?w="+ parseInt(Math.random()*88888, 10);
b.open("get", u, true);
b.onreadystatechange = function ()
{
if(b.readyState === 4)
{
if(b.status === 200)
{
if(b.responseText)
{
document.getElementById("divid").innerHTML = b.responseText;
}
}
}
};
b.send();
}
c();
我没有一个银弹的答案,为什么错误弹出,但调用b.status
抛出错误时,readyState
不是4
。然而,这个特定的错误是我最近遇到的(但不同的错误类型),当通过innerHTML
发送一个空字符串到IE 8中的一个元素(我怀疑你的responseText
是空的,导致错误)。
我冒昧地为您修复了该代码(以及其他一些触摸)。在IE 7-8中没有错误,怪癖或没有。
我希望这对你有帮助。
马特编辑:我偶然发现了这篇MSDN帖子。奇怪的是,他们的示例代码像我一样使用嵌套的if块,但没有解释。我将进一步调查。
链接:http://msdn.microsoft.com/en-us/library/dd576252%28v=vs.85%29.aspx
相关文章:
- 你能解释一下为什么这个javascript不正确吗
- 按一下Javascript函数
- 你能解释一下下面的javascript吗?
- 有人可以解释一下Object.defineProperty如何在javascript的构造函数中工作
- 有人可以向我解释一下代码的JavaScript / Ajax部分是做什么的
- 有人可以解释一下这个JavaScript / Angular代码是如何工作的
- 你能解释一下 javascript 中的返回吗?
- 有人可以解释一下这些javascript概念吗?
- 你能解释一下这个JavaScript语法(变量外推)吗?
- 聚合物 - 有人可以解释一下聚合物中使用的this.$.foo.bar JavaScript语法
- 有人请向我解释一下这个 JavaScript 将用 /
]*>>/g 替换什么 - Javascript - 有人可以解释一下这段代码吗?
- JavaScript添加函数脚本 - 有人可以解释一下
- Javascript,你能检查一下我的语法吗?
- 有人能解释一下这个JavaScript代码吗
- 有人能给我解释一下这个HTML/Javascript部分吗
- 有人能解释一下javascript中的继承是如何工作的吗
- 请任何人解释一下javascript代码,并建议我如何为一年中的每一天做if
- 你能推荐一下JavaScript网格吗?
- 有人能解释一下JavaScript代码是如何工作的,这样我就能更好地理解回调和requestAnimFrame是如何工作