Javascript 为什么我的页面在发布评论后不重新加载视图?
在创建reddit克隆时学习ruby on rails,当我尝试发布注释时,我的控制台返回注释已创建,但没有重新加载页面视图,并且返回一个错误消息Javascript 为什么我的页面在发布评论后不重新加载视图?,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,在创建reddit克隆时学习ruby on rails,当我尝试发布注释时,我的控制台返回注释已创建,但没有重新加载页面视图,并且返回一个错误消息 Uncaught TypeError: Cannot set property 'innerHTML' of null at <anonymous>:3:52 at processResponse (rails-ujs.js:283) at rails-ujs.js:196 at XMLHttpRequest.xhr.onread
Uncaught TypeError: Cannot set property 'innerHTML' of null
at <anonymous>:3:52
at processResponse (rails-ujs.js:283)
at rails-ujs.js:196
at XMLHttpRequest.xhr.onreadystatechange (rails-ujs.js:264)
Uncaught TypeError:无法将属性“innerHTML”设置为null
在中,您犯了一个选择器输入错误,因此更改注释/create.js.erb
,如下所示:
document.getElementById("post_comments").innerHTML = "<%= escape_javascript(render partial: 'posts/comments', locals: {comments: @comments})%>"
document.querySelector("#new_comment textarea").value = ""
document.getElementById(“post_comments”).innerHTML=“”
document.querySelector(“#new#U comment textarea”).value=“”
这里的区别是post_comments
而不是post comments
您犯了一个选择器输入错误,所以像这样更改comment/create.js.erb
,应该可以:
document.getElementById("post_comments").innerHTML = "<%= escape_javascript(render partial: 'posts/comments', locals: {comments: @comments})%>"
document.querySelector("#new_comment textarea").value = ""
document.getElementById(“post_comments”).innerHTML=“”
document.querySelector(“#new#U comment textarea”).value=“”
这里的区别是post_comments
而不是post comments
document.getElementById("post_comments").innerHTML = "<%= escape_javascript(render partial: 'posts/comments', locals: {comments: @comments})%>"
document.querySelector("#new_comment textarea").value = ""