jquery.post和jquery.get之间的区别?

这两个AJAX调用之间有什么区别?为什么我在使用asp.net mvc框架时会选择使用它?

一个使用POST,一个使用GET。

至于它们的意义 – 唯一真正的技术差异(如果我错了请更正这篇文章)是GET对查询字符串的限制要短得多。 实际上,GET用于从服务器获取内容时。 GET调用不应该对服务器造成副作用。 POST是指您打算在服务器上发送内容并让它对其执行某些操作。

编辑:我想要的词,描述GET,是幂等的。 您应该可以无限次地进行完全相同的GET调用,并且每次都获得相同的结果,而不会给服务器带来任何后果(前提是没有其他人改变了服务器的状态。)但请记住那里没有技术障碍阻止您滥用GET或POST。

$.post$.get只是$.ajax包装器,带有type参数的相应值。 (来源中的第4888和4913行。)

在MVC中,您可以指定控制器操作仅接受使用特定HTTP请求类型发出的请求(使用AcceptVerbs控制器/操作属性)。

如果您要对此类操作提交请求,则需要指定请求类型,在这种情况下,您可能会找到$.post$.get一个方便的$.ajax快捷方式。

我遇到的一个问题是IE会缓存$ .get调用,这是一个问题,因为你通常使用Ajax来刷新数据。 如果你想使用GET但不想被缓存,你必须下拉到$ .ajax并在设置中传递cache:false。

get是HTTP GET调用, post是HTTP POST。

有关更多解释,请参阅Wikipedia。

基本上,如果您要包含数据(例如表单提交),请使用post ; 否则,如果您只是加载页面,或者想要传递查询字符串参数 ,请使用get 。 (您传递给get任何数据都将作为查询字符串传递)

编辑:

它们是分开的,因为底层的XMLHttpRequest对象(浏览器中的基本AJAX对象)需要指定方法 。 事实上,甚至更低,当您请求网页时,您必须使用HTTP / 1.0 GET或HTTP / 1.0 POST(或其他请求方法)。 如果从设计的角度来看,作为将字符串传递给某种“加载”方法的替代方法,我不能说jQuery背后的软件架构师在想什么。

EDIT2:

实际上,如果你看一下最新的jQuery文档, get和post会列在“速记方法”下,并给出了等效的方法。 因此,它们只是用于缩短代码并且是ajax方法的同义词。

你应该在推送变更集时始终使用POST – 这有安全隐患,我会将其中的所有详细信息留给研究。

 **GET** - Requests data from a specified resource **POST** - Submits data to be processed to a specified resource 

GET主要用于从服务器获取(检索)一些数据。 注意:GET方法可能会返回缓存的数据。

POST也可用于从服务器获取一些数据。 但是,POST方法永远不会缓存数据,并且通常用于与请求一起发送数据。