在Ajax中获取vs POST

在Ajax中获取vs POST,ajax,semantics,Ajax,Semantics,对于Ajax请求,GET和POST之间有什么区别 我看不出这两者之间有什么区别,除了当我使用GET时,参数是在URL中发送的,这对我来说并没有什么区别,因为所有请求都是在后台发出的,用户没有发现任何区别 编辑: 使用的放置和删除方法有哪些?如果您通过HTTPS发送大量数据或敏感数据,则需要使用POST。如果它只是一个简单的参数,我会使用GET GET请求对可以发送的数据量有限制。我忘记了确切的数字,但如果你发送了任何实质性的邮件,这可能会导致问题 GET和POST的基本区别在于,在GET请求中,

对于Ajax请求,GETPOST之间有什么区别

我看不出这两者之间有什么区别,除了当我使用GET时,参数是在URL中发送的,这对我来说并没有什么区别,因为所有请求都是在后台发出的,用户没有发现任何区别

编辑:
使用的放置删除方法有哪些?

如果您通过HTTPS发送大量数据或敏感数据,则需要使用POST。如果它只是一个简单的参数,我会使用GET

GET请求对可以发送的数据量有限制。我忘记了确切的数字,但如果你发送了任何实质性的邮件,这可能会导致问题


GET和POST的基本区别在于,在GET请求中,参数在URL中传递,而在POST中,参数包含在消息正文中。

GET是为从服务器获取数据而设计的。POST(以及鲜为人知的朋友PUT和DELETE)是为修改服务器上的数据而设计的

GET请求不应导致从应用程序中删除数据。如果你有一个链接可以点击删除数据,那么谷歌可以点击你的所有“删除”链接

可以找到引用HTML 2.0规范的规范答案:

如果窗体的处理是幂等的(即它没有持久的 对环境状态的可观察影响 世界),那么表单方法应该是 得到。许多数据库搜索没有 明显的副作用,是理想的选择 查询表单的应用

如果与表单处理相关联的服务有副作用 (例如,对 数据库或对数据库的订阅 服务),方法应为POST


在AJAX调用中,您需要使用服务器支持的任何方法。您应该始终设计服务器,以便通过POST/PUT/DELETE调用修改数据的操作。其他注释有到REST的链接,REST通常将C/R/U/D映射到“POST或PUT”(创建)/GET(读取)/PUT(更新)/DELETE(删除)。

它的AJAX与否无关。这是关于你正在采取的行动。我建议您遵循以下原则。许多web服务器限制可以作为URL的一部分传递的数据长度,因此GET请求可能以难以调试的奇怪方式中断

此外,大多数服务器软件都会在访问日志中记录URL,因此如果在GET请求中传递敏感信息(如密码),很可能会以明文形式写入磁盘


从REST的角度来看,GET请求应该没有副作用——它们不应该修改数据。因此,如果您只是通过ID获取资源,这是有意义的,但是如果您要提交对资源的更改,则应该使用PUT、POST或UPDATE作为http动词。

如果您传递的参数中的字符可能会在URL中出错(如空格),则使用POST。否则,您可以使用GET

一般来说,如果你只是传递一些小论点,你会使用GET。但对于传递用户提交的信息,如博客条目、文本等,使用POST是一种很好的做法


还有一些框架完全依赖于基于段的URL(例如
site.com/products/133
而不是
site.com/products.php?id=333
,这些框架为安全起见取消了GET变量的设置。在这种情况下,您会一直使用POST。

无论您使用的是Ajax、HTML
表单
s还是
cur,GET
POST
之间的区别是相同的l。以下是相关定义:


关于我,我更喜欢POST。我保留获取我知道发送的值仅限于我拥有“控件”的数据的事件,例如,检索具有id的项目。例如,“getitem?id=123”、“deleteImtem?id=123”……对于其他情况,当我有一个用户可以填写的表单时,我更喜欢POST

正如Ryan Smith所说,最好使用POST发送大量数据,并且在使用其他语言/特殊字符时少担心(一般来说,所有专业的javascript框架都不应该有任何问题要处理,但我认为使用POST少担心)

对于REST透视图,在我看来,您可以将其用于新项目(以保持与整个项目的一致性)


最后,maybee介绍了网络中使用的一些程序(URL登录者(即:查看员工是否在未授权的网站上浪费时间…)proxys…)或者任何其他类型的工具都可以拦截查询。有些工具会在报告中显示您与GET一起发送的参数,将其视为一个不同的网页。但在这种情况下,is可能不是您的问题,它是从一个项目到另一个项目的更改!;)

GET请求更容易在CSRF(跨站点请求伪造)中被利用攻击。即假POST请求需要在用户端启用Javascript,而假GET请求仍然可能仅使用img、脚本标记。

首先是一般信息。如果您仅读取数据,请使用
GET
,如果您更改数据库、txt文件等内容,请使用
POST

但问题是,一些浏览器缓存
GET
结果。我在IE7中遇到了
AJAX
请求的问题,但最后我发现浏览器缓存
GET
结果。我重新考虑了流程,并将请求更改为
POST

因此,如果不需要缓存,请不要使用
GET


(当然,您可以在GET操作中禁用缓存。但我不喜欢它)

两者都用于发送一些数据并使用这些数据接收一些响应

获取:获取服务器中的信息存储。例如,搜索、推特、个人信息。如果您想发送inf
$.get( url [, data ] [, success ] [, dataType ] )
$.post( url [, data ] [, success ] [, dataType ] ) // for sending secure or Large information
$.ajax( url [, settings ] )  // More Configaration