使用Ajax ......我似乎无法弄清楚这里有什么问题。代码出错: objUserID.innerHTML = username; 。它认为变量用户名为空。 用户名确实包含数据,因为以下代码确认了这一点: console.log(“user:[”+ username +“]”); 有人可以解决这个问题吗?< / p>
function actionBid(bidID,bidA,bidAction){
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpRequestObject)
{
// ==== GET BID ====
if (bidAction == "getbid"){
var objUserID = document.getElementById("curBidUser"+bidID);
var res = XMLHttpRequestObject.responseText;
var username = res.substring(0,res.indexOf(','));
console.log("user: ["+username+"]");
objUserID.innerHTML = username;
}
}
}
答案 0 :(得分:9)
它认为变量用户名为空
假。它告诉您它无法访问innerHTML
的属性null
。换句话说,objUserID
为空,并且您无法访问它的属性。
换句话说,你的元素不存在。
答案 1 :(得分:6)
如果您遇到此问题,可能是因为您已在其他所有内容之前将脚本标记放在body标记的顶部。您希望将脚本标记放在body标记的底部。
答案 2 :(得分:0)
这意味着找不到元素或对象。它不存在。
这是一个小提琴:http://jsfiddle.net/afzaal_ahmad_zeeshan/cF6Bh/
您可以看到代码有效。但是这个元素并不适用于JavaScript。
确保元素存在。要么你需要确保字符是正确的或类似的东西。
document.getElementById("objectId").innerHTML = "Text";
所以解决这个问题的方法是,改变你传递给方法的ID参数。
答案 3 :(得分:0)
实际上这是使用以下代码进行的加载问题检查。
setTimeout(function(){
xYzFunction();
}, 3000 )
答案 4 :(得分:0)
实际上,这个错误也可以通过调用此document.getElementById("#content-content").innerHTML=output;
而不是像这样
document.getElementById("content-content").innerHTML=output;