7

是否可以使用 javascript 响应 HTML 请求?我的意思是我不想刷新页面并执行一些javascript代码。我想知道这是否可以通过仅更改服务器端来实现?

在我的行动中,我选择了一些东西来回应jshtml就像这样:

respond_to do |format|
  format.js
  format.html
end

我有一个.js.erb文件,当然,应该在浏览器请求 javascript 时呈现。

这可以做到吗?如何?

4

1 回答 1

5

您不能仅通过更改服务器端代码来做到这一点。如果您希望在服务器响应时执行 javascript,则需要通过 javascript 提交表单。这是因为 javascript 将评估来自服务器的响应并运行代码。

这在 Rails 中可以很简单地添加:

<%= form_for @user, remote: true %>

提交后,您可以发回 javascript。例如,要提醒用户已添加:

/app/views/users/create.js.erb

alert("user <%= j @user.email %> was added");
于 2013-05-21T18:44:53.503 回答