是否可以使用 javascript 响应 HTML 请求?我的意思是我不希望页面被刷新并执行一些 javascript 代码。我想知道这是否可以通过仅更改服务器端来实现?
在我的行动中,我选择了回复 js
和 html
像这样:
respond_to do |format|
format.js
format.html
end
我有一个
.js.erb
文件,当然,应该在浏览器请求 javascript 时呈现。
这能做到吗?如何?
请您参考如下方法:
您不能仅通过更改服务器端代码来做到这一点。如果您希望根据服务器的响应执行 javascript,则需要通过 javascript 提交表单。这是因为 javascript 将评估来自服务器的响应并运行代码。
这可以在 Rails 中稍微添加:
<%= form_for @user, remote: true %>
提交后,您可以发回javascript。例如,要提醒添加了用户:
/app/views/users/create.js.erb
alert("user <%= j @user.email %> was added");