使用服务器端验证逻辑在Rails中显示Javascript确认对话框
我的Rails应用程序中有一个标准表单 在某些情况下,我希望在单击Submit按钮时显示一个Javascript确认对话框。问题是,我需要确定是否在服务器端显示此确认,而不是在请求提交到服务器之前在Javascript中显示此确认 解决这个问题的最佳方案是什么 我是否应该使用AJAX并将标记的使用服务器端验证逻辑在Rails中显示Javascript确认对话框,javascript,ruby-on-rails,Javascript,Ruby On Rails,我的Rails应用程序中有一个标准表单 在某些情况下,我希望在单击Submit按钮时显示一个Javascript确认对话框。问题是,我需要确定是否在服务器端显示此确认,而不是在请求提交到服务器之前在Javascript中显示此确认 解决这个问题的最佳方案是什么 我是否应该使用AJAX并将标记的表单更改为标记的远程表单?然后,我将能够选择format.js响应,在我的控制器中显示确认对话框,但它确实感觉有点混乱 或者我应该忘记用Javascript来实现这一点,而只是显示一个中间确认页面吗?我不熟
表单更改为
标记的远程表单?然后,我将能够选择format.js
响应,在我的控制器中显示确认对话框,但它确实感觉有点混乱
或者我应该忘记用Javascript来实现这一点,而只是显示一个中间确认页面吗?我不熟悉Ruby on Rails,但在我看来,客户端和服务器之间的一般流程是:
# Client request is >
# Server response is <
> /perform/action?arg1=abc
< {"perform":"action","confirmation_required":true}
> /perform/action?arg1=abc&confirm=1
#客户端请求为>
#服务器响应为<
>/perform/action?arg1=abc
<{“执行”:“操作”,“需要确认”:true}
>/perform/action?arg1=abc&confirm=1
因此,基本上,让服务器上的脚本只返回一个响应,告诉客户端它必须确认操作并重新发送请求,然后客户端显示一个对话框,如果按下OK,向请求添加一个标志,表示用户已确认该请求。您可以让控制器方法在闪存中设置一个标志,以指示是否应显示确认对话框。您的查看代码取决于此标志的存在。问题是,在提交表单之前,我不知道是否显示确认对话框(即,它基于表单中输入的用户数据)。如果表单已提交,则单击“提交”按钮后,如何显示确认对话框?现在已经太晚了。你找到解决方法了吗?