我有这个流程,但不知道如何处理它。我认为“转发”按钮应该使用GET,因为它是安全且幂等的,但textarea包含大量文本,所以我认为不能放入URI。我改为POST。
confirmCreateAlbum上的OK按钮肯定是POST。 流程说当在confirmCreateAlbum上单击“取消”时,它返回到nameAlbum,并填写了字段以进行编辑。我把OK按钮放在一个带有action =“confirmCreateAlbum”的表单中。问题是如何回到nameAlbum?
注意:如果未提供必填字段,nameAlbum将显示错误。
答案 0 :(得分:1)
我不认为post或get是问题所在。
你可以创建两个表单:一个带ok按钮,post / get进一步步骤;一个带取消按钮,发布/获取nameAlbum 或者您可以使用两个具有相同名称和两个不同值的按钮创建一个表单并发布/获取某个页面。在该页面上,您检查值并重定向到进一步的步骤或nameAlbum。
发布到confirmCreateAlbum后,您在哪里存储textarea的数据?
我假设你将它存储在会话中,所以在nameAlbum中你可以填充数据(如果有的话)到该字段。
如果你可以使用javascript,你可以用一些javascript处理下一个取消按钮,避免一些往返。
答案 1 :(得分:1)
虽然RFC中的GET请求没有特定的长度限制,但浏览器对URI长度施加了限制。某些服务器实现也有一些注意事项。
你说textarea“包含大量的文本”因此建议在这种情况下使用POST,因为它不受URI限制。
关于你原来的问题,“问题是如何回到nameAlbum?”
在confirmCreateAlbum表单中,您实际上可以使用两个单独的表单。操作调用指定脚本进行确认的“确定”表单,以及具有调用nameAlbum表单操作的“取消”表单。
Anther选项变得越来越聪明,隐藏的输入字段并传递数据,但这可能会变得混乱。
就个人而言,如果由我决定,我将使用jQuery / Javascript来确认表单提交。这是一个简单的客户端解决方案,如果按下“取消”,则不需要您保留原始表单。但那只是我......