在AJAX中获取vs POST?

在AJAX中获取vs POST?,ajax,http,post,get,Ajax,Http,Post,Get,为什么AJAX中会有GET和POST请求,因为它不会影响页面URL?在AJAX中通过GET传递敏感数据会有什么不同,因为数据不会反映到页面URL中 至于GET,您仍然有url长度限制。除此之外,很有可能服务器对POST和GET请求的处理方式不同;因此,需要能够指定您正在执行的请求。拥有它们的两个主要原因: GET请求在大小上有一些相当严格的限制POST通常能够包含更多信息 后端可能需要GET或POST,具体取决于其设计方式。如果后端需要,我们需要灵活地执行GET,如果后端需要,我们需要灵活地执行

为什么AJAX中会有GET和POST请求,因为它不会影响页面URL?在AJAX中通过GET传递敏感数据会有什么不同,因为数据不会反映到页面URL中

至于GET,您仍然有url长度限制。除此之外,很有可能服务器对POST和GET请求的处理方式不同;因此,需要能够指定您正在执行的请求。

拥有它们的两个主要原因:

  • GET
    请求在大小上有一些相当严格的限制
    POST
    通常能够包含更多信息

  • 后端可能需要
    GET
    POST
    ,具体取决于其设计方式。如果后端需要,我们需要灵活地执行
    GET
    ,如果后端需要,我们需要灵活地执行
    POST


  • 您应该根据您对web服务的要求使用适当的HTTP谓词


    处理集合时URI类似:
    http://example.com/resources/

    获取:列出集合的成员,并填写其成员URI以供进一步导航。例如,列出所有待售汽车

    PUT:定义为“用另一个集合替换整个集合”

    POST:在集合中创建一个新条目,其中ID由集合自动分配。创建的ID通常包含在此操作返回的数据中

    删除:定义为“删除整个收藏”


    处理成员URI时,如:
    http://example.com/resources/7HOU57Y

    GET:检索以适当MIME类型表示的集合的寻址成员的表示形式

    PUT:更新集合的寻址成员或使用指定ID创建它

    POST:将地址成员视为其自身的集合,并创建其新下属

    删除:删除集合的已寻址成员



    来源:

    您通常向AJAX脚本发送参数,它会根据这些参数返回数据。它的工作原理与包含method=“get”或method=“post”的表单类似。使用GET方法时,参数将在查询字符串中传递。使用POST方法时,参数在POST正文中发送


    通常,如果您的参数只有很少的字符并且不包含敏感信息,那么您可以通过GET方法发送它们。敏感数据(如密码)或长文本(如8000个字符长的个人简历)最好通过POST方法发送。

    其他人已经讨论了要点(上下文/幂等性和大小),但我将添加另一个:加密。如果您使用SSL并希望加密输入参数,则需要使用POST。

    另一个区别是
    GET
    POST
    在浏览器中处理缓存的方式<代码>发布响应从不缓存
    GET
    可以根据响应头中指定的缓存规则进行缓存,也可以不进行缓存。

    在Ajax中使用GET方法时,只发送字段值的内容,而不发送内容的格式。例如,对于GET方法,文本区域中的内容只是添加到URL中(没有新行字符)。POST方法中并非如此。

    谢谢。。 我主要在Ajax中使用GET方法,到目前为止,我没有遇到任何问题,除了以下问题:

    Internet Explorer(与Firefox和Google Chrome不同)如果使用相同的GET值,则缓存GET调用


    因此,在Ajax-GET中使用一定的间隔可以显示相同的结果,除非您为每个Ajax-GET使用不相关的随机数来更改URL。

    这完全取决于遵守http协议的规则

    Get-调用必须是幂等的。这意味着如果你多次调用它,你将得到相同的结果。其目的不是更改基础数据。您可以将其用于搜索框等


    Post-调用不是幂等的。它允许对基础数据进行更改,因此可以在create方法中使用。如果您多次调用它,您将创建多个条目。

    此外,在开发应用程序时,您可以同时使用这两种请求类型。对于大多数人来说,
    就是_ajax
    标志就足够了。我接受dnl.vssll的答案,因为GET url长度限制不是由HTTP或AJAX强加的,您可以检查这个答案。它受到浏览器/服务器的限制,以及为什么它受到限制是一个值得讨论的问题。。由于HTTP是基于文本的,所以浏览器将HTTP请求作为一个整体发送。。它包括查询字符串,所以如果对请求的长度没有限制(假设理想情况)限制查询字符串的意义是什么?我没有提出一个参数来保护冗长的限制,我只是说它在那里,并且您必须考虑它,因为在进行Web开发时,你真的不能忽视浏览器。但是,嘿,你不需要激励自己;dnl的回答也很好=)长度限制在实践中也是非常有效的一点。我完全同意David关于“不能忽视浏览器”的观点。这比公认的答案要好。我们是开发者,不是柏拉图式的哲学家;您可以随心所欲地谈论GET的理想形式—w3标准,但这并不能改变这样一个事实,即当您将应用程序放到现实世界中时,您必须处理不完善的浏览器,这些浏览器无法正确处理任意长度的URI。数据通过GET反映在页面URL中。看看TCP/IP监视器发生了什么