首页 新闻 赞助 找找看

MVC中HTTP POST 的一些求教

0
[已解决问题] 解决于 2017-08-04 13:19

我在学习MVC中遇见了一个问题就是在我创建一个Controller后,我不知道什么时候需要在Controller中写的public ActionResult上加httppost这个动作限定,我已经在网上和书中查阅了相关资料,但是感觉还是似懂非懂,以下是我的理解:如果不加HTTPPOST,当页面加载时,则会自自动运行在public ActionResult中的功能。如果加上HTTPPOST,则会在页面按钮出发后,根据页面传入的信息在运行 public ActionResult中的功能。

不知道我的理解是否正确,我在一步步学习MVC,但是看书上的解说感觉总是不能明白,需要能有朋友帮我通俗,直观的说明一下。

僧正的主页 僧正 | 初学一级 | 园豆:193
提问于:2017-08-04 12:59
< >
分享
最佳答案
2

“如果不加HTTPPOST,当页面加载时,则会自自动运行在public ActionResult中的功能。”你这里所说的页面加载是指浏览器打开页面,这里一般是get请求,MVC里对不加[HttpPost]的action默认的就是[HttpGet]。

“如果加上HTTPPOST,则会在页面按钮出发后,根据页面传入的信息在运行 public ActionResult中的功能。”你这里所说的页面按钮发出后,应该是指的点击submit按钮post方式提交表单。

是否加[HttpPost]取决于你的提交数据方式是什么。详情百度get/post

奖励园豆:5
复制粘贴机器人 | 小虾三级 |园豆:623 | 2017-08-04 13:15

谢谢您,看来我在理解上有一个根本的错误,谢谢您帮我指出。看您这么写,我感觉对于HTTPPOST和GET的理解清晰了很多。

僧正 | 园豆:193 (初学一级) | 2017-08-04 13:19

get其实就是向服务器索取信息,比如产品列表,产品详细信息。

而post就是向服务提交信息,比如增加产品,删除产品,更新产品。

这样理解是否恰当呢?

僧正 | 园豆:193 (初学一级) | 2017-08-04 13:29

@MingWei496: 对于你说的索取信息提交信息,你可以这么理解,但是主要是看你怎么用。最直接的区别是:get的参数在URL里,并且浏览器访问url时默认get;而post的参数在表单里。

通过现在的ajax,我也可以用get提交一个产品的ID,然后后台增删改,我也可以post什么都不提交,让后台把产品列表、详细信息返回来。

复制粘贴机器人 | 园豆:623 (小虾三级) | 2017-08-04 13:37
其他回答(1)
0

先学http协议吧.大体知道下就好.再学怎么做网站.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-08-04 13:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册