看来,默认是GET,hwo来处理POST和其他Http操作?如何在控制器中处理POST请求
1
A
回答
7
当您发送POST请求时,框架将自动调用POST操作。因此,举例来说,如果你有一个HTML表单:
<% using (Html.BeginForm("Index", "Home", FormMethod.Post)) {%>
<input type="submit" value="OK" />
<% } %>
它会自动调用POST index动作:
[HttpPost]
public ActionResult Index()
{
...
}
,或者你可以使用jQuery发送Ajax请求,并指定要发布:
$.post('/home/index', function(result) {
alert('successfully invoked the POST index action');
});
就其他动词而言,像PUT和DELETE这些仅在AJAX调用中受支持。您不能在HTML表单中指定它。尽管有一个解决方法。下面的表格:
<% using (Html.BeginForm("Destroy", "Home", FormMethod.Post)) {%>
<%= Html.HttpMethodOverride(HttpVerbs.Delete) %>
<input type="submit" value="OK" />
<% } %>
将调用这个动作:
[HttpDelete]
public ActionResult Destroy() {}
这种工作方式是,使用POST谓词,但额外的隐藏字段与这使得发动机的请求一起发送路由到适当的控制器操作。如果你使用AJAX,那么你可以直接指定动词你想:
$.ajax({
url: '/home/destroy',
type: 'DELETE',
success: function(result) {
}
});
2
0
只需确保在ASPX,你的处理操作方法是一动作形式POST,你很好去:
using(Html.BeginForm("ActionName", "ControllerName") {}
ActionName是将处理POST的方法。
还是我误解了这个问题?
相关问题
- 1. 如何在python中处理post请求
- 2. 如何在node.js中处理POST请求
- 3. 处理POST请求
- 4. 在Haskell处理/ Warp处理POST请求
- 5. 如何在Beanshell预处理器中获取HTTP POST请求体?
- 6. Node.js请求 - 处理多个POST请求
- 7. 在Android中处理POST请求
- 8. 在PHP中处理JSON POST请求
- 9. 处理http post请求
- 10. Spring MVC控制器如何处理多个长的http请求?
- 11. 从控制器生成http post请求
- 12. 弹簧安置控制器POST请求
- 13. 发送弹簧控制器POST请求
- 14. 处理在symfony中控制器的角$ http请求
- 15. ajax在symfony2控制器中请求处理数据
- 16. REST:如何处理已在请求正文中具有ID的POST请求
- 17. 如何在Perl和FastCGI中处理和发送POST请求?
- 18. 用koa代理处理POST请求
- 19. MVC AJAX POST请求在控制器中显示为空
- 20. 磁盘控制器信号处理器如何完成读取/写入请求
- 21. 如何在nginx中处理“OPTIONS *”请求?
- 22. 如何在ColdFusion中处理请求
- 23. 如何在CherryPy中处理Web请求?
- 24. 如何在AngularJS中处理CORS请求
- 25. 如何在POST请求之前处理新的数组元素
- 26. 如何处理Cherrypy中的正文POST请求?
- 27. Spring MVC,如何让控制器处理程序处理映射处理程序之前的所有请求?
- 28. CodeIgniter Rest Server处理JSON POST请求
- 29. 不成功的POST请求处理
- 30. 主塔 - 处理GET和POST请求
我可以有一个操作来处理GET和POST吗?或者我需要两个操作 – user514494 2010-11-20 15:34:56
是的,你可以有一个单一的行动。无论客户使用了什么动词,都会调用此动作。 – 2010-11-20 15:37:06