【问题标题】:Difference between jquery.post and jquery.get?jquery.post 和 jquery.get 之间的区别?
【发布时间】:2010-03-03 21:26:19
【问题描述】:

这两个 AJAX 调用有什么区别,为什么在使用 asp.net mvc 框架时我会选择使用其中一个?

【问题讨论】:

  • 区别与ASP.NET中POST和GET方法的区别相同。您在问题中包含了 asp.net-mvc 标记,所以我假设您对此有一些经验。

标签: jquery


【解决方案1】:

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

就它们的含义而言——唯一真正的技术差异(如果我错了,请更正这篇文章)是 GET 对查询字符串的限制要短得多。在实践中,GET 用于从服务器获取内容时。 GET 调用不应对服务器造成副作用。 POST 是当你打算在服务器上发送一些东西并让它做一些事情的时候。

编辑:我正在寻找的用于描述 GET 的词是幂等的。您应该能够无限次地进行完全相同的 GET 调用,并且每次都获得相同的结果,而不会对服务器造成任何影响(当然前提是没有其他人更改了服务器的状态。)但请记住,那里没有技术障碍阻止您滥用 GET 或 POST。

【讨论】:

  • Get 会产生副作用,它应该是幂等的。见en.wikipedia.org/wiki/Idempotent#In_computing。 (不引起副作用是幂等的一种方式,但不是唯一的方式)。
  • 谢谢! “Idempotent”正是我在写这篇文章时一直在寻找的词,我只是不记得了。
【解决方案2】:

$.post$.get 只是 $.ajax 的包装器,具有 type 参数的各自值。 (source 中的第 4888 和 4913 行。)

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      请参阅维基百科以获取 more explanation

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

      编辑:

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

      编辑2:

      实际上,如果您查看最新的 jQuery 文档,getpost 列在“速记方法”下,并给出了等效方法。因此,它们只是为了缩短您的代码,是 ajax 方法的同义词。

      【讨论】:

      • 我知道普通的如何工作,但就 Jquery 而言,我不明白为什么它们是分开的。
      【解决方案5】:

      在推送更改集时,您应该始终使用 POST - 存在安全隐患,我将把所有可怕的细节留给研究。

      【讨论】:

      • Hory,一个新词,也许是源自 hoary 和 gory 的合成词。
      【解决方案6】:
      **GET** - Requests data from a specified resource
      **POST** - Submits data to be processed to a specified resource
      

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

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

      【讨论】:

        猜你喜欢
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-25
        • 2020-05-10
        • 2014-09-20
        • 2010-10-28
        相关资源
        最近更新 更多