我有一个将表单显示到页面中的部分。当我提交表单时,我只希望控制器执行其操作并返回页面,而不呈现任何内容。我只想显示成功或错误的闪光消息,仅此而已。但是默认情况下,控制器会尝试呈现一个新页面。我如何才能避免这种行为?
发布于 2011-03-05 19:58:00
要做你想做的事情,只需使用带有JavaScript (AJAX)的异步HTTP请求。因此,您可以发布表单字段的值,并使用结果更新flash区域。您可以使用jQuery在ajax请求中提供帮助:
<Edited>
如果您的页面中没有flash区域,您可以创建它,将div元素放在页面顶部或您的页面(或任何其他您想要的位置)。然后在按钮的onclick事件中放入以下内容:
<input type=button onclick="$.post('/controller/action/update', $('#testform').serialize(), function success(data, textStatus, jqXHR){$.('#flash').html(data)})">
此函数将表单数据发送到服务器,并在返回时调用回调函数(成功)。然后,您只需使用返回的数据更新flash内容。
https://stackoverflow.com/questions/5203571
复制相似问题