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

在我的行动中,我选择了回复 jshtml像这样:

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"); 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!