【发布时间】:2017-08-05 15:09:07
【问题描述】:
这是工作流程:
以 root_page.js 开头
document.addEventListener('DOMContentLoaded', function() {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function (data) {
// code
};
httpRequest.open('GET', '/contents/ajax_rss.js', true);
httpRequest.send();
})
这会发送成功路由到 contents#ajax_rss 的 ajax 请求
def ajax_rss
respond_to do |format|
format.js {
}
end
end
并且应该呈现以下 ajax_rss.js.erb
document.getElementById("rss").innerHTML = "HELLO WORLD!";
这是服务器响应:
Processing by ContentsController#ajax_rss as JS
User Load (0.9ms) SELECT "users".* FROM "users" WHERE "users"."id" = ?
ORDER BY "users"."id" ASC LIMIT ? [["id", 1], ["LIMIT", 1]]
Rendering contents/ajax_rss.js.erb
Rendered contents/ajax_rss.js.erb (1.1ms)
Completed 200 OK in 9ms (Views: 5.0ms | ActiveRecord: 0.9ms)
但是文本没有相应地显示。我错过了什么?这是我第一次尝试 AJAX,而不是使用 remote: true 从表单或按钮调用。
所有远程:真正的调用都按预期工作。
【问题讨论】:
-
您是否在浏览器控制台
document.getElementById("rss").innerHTML = "HELLO WORLD!";中尝试过此操作并确认它正常工作? -
我确实做到了....
标签: javascript ruby-on-rails ajax ruby-on-rails-5