[英]Javascript/JQuery: innerHTML Not Working
我想将<div id="homePagePosts">
的内容更改为来自服务器的新数据。 新数据采用服务器呈现的HTML
格式。 但是,浏览器收到AJAX
数据后,旧的HTML仍然保持不变。
当我如下所示显示console.log
,我可以看到呈现的新HTML数据显示在控制台中。 我已将Javascript和JQuery文件都放在<body>
的底部,但仍然无法正常工作。 我不太确定这里哪里出错了。
的HTML
<div id="homePagePosts">
<% include ../ajaxSnippets/mainHome %>
</div>
Java脚本
$.ajax({
url: "/main/home",
type: "POST",
contentType: "application/json",
data: JSON.stringify(sendData)
}).done(function(result){
//This shows up in the console
console.log(result)
updateMainPagePosts(result);
}).fail(function(err){
console.log(err);
});
var updateMainPagePosts = function(posts){
document.getElementById("homePagePosts").innerHTML = posts;
};
您已将函数定义为变量,并且无法在此方法中使用。
改变这个:
var updateMainPagePosts = function(posts){
document.getElementById("homePagePosts").innerHTML = posts;
};
对此:
function updateMainPagePosts(posts){
document.getElementById("homePagePosts").innerHTML = posts;
}
来自以下网址的更多详细信息: https : //www.quora.com/Is-the-var-x-function-the-same-as-the-function-x-in-JavaScript :
这会破坏。 它使用分配给变量的函数表达式。 console.log(myFunction(1,2)); var myFunction = function(a,b){return a + b; };
这会将“ 3”打印到您的控制台。 它使用函数声明。 console.log(myFunction(1,2)); 函数myFunction(a,b){返回a + b; }
区别在于,在具有函数定义的示例中,该函数被JavaScript解释器“提升”到作用域的开头(例如,可以是父函数或文件),这意味着该函数中的任何位置可以调用它,它将执行您编写的功能。
在函数Expression中,函数就像是一个值一样被传递,并在需要时被解释。 在此示例中,我们将其分配给myFunction变量。 由于我们在该变量的前面放置了一个'var'语句,因此该变量的myFunction已被吊起,但其值(函数表达式)未被吊起(不要混淆两者)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.