是什么区别GET和POST的Ajax的请求?
我看不到这两者之间的任何区别,只是当我使用GET时,参数是在URL中发送的,这对我来说并没有任何区别,因为所有请求都是在后台进行的,并且用户找不到任何请求区别。
编辑:什么是PUT和DELETE方法?
Answers:
GET设计用于从服务器获取数据。POST(以及鲜为人知的朋友PUT和DELETE)设计用于修改服务器上的数据。
GET请求绝不应导致从应用程序中删除数据。如果您具有链接,则可以单击GET以删除数据,然后Google抓取您的网站的蜘蛛可以单击您所有的“删除”链接。
可以在此处找到规范答案,该规范引用了HTML 2.0规范:
如果对表单的处理是幂等的(即,对世界的状态没有持久的可观察到的影响),则表单方法应为GET。许多数据库搜索没有明显的副作用,可以理想地应用于查询表单。
如果与表单处理相关的服务有副作用(例如,修改数据库或订阅服务),则该方法应为POST。
在AJAX调用中,您需要使用服务器支持的任何方法。您应该始终设计服务器,以便通过POST / PUT / DELETE调用修改数据的操作。其他注释具有指向REST的链接,该链接通常将C / R / U / D映射到“ POST或PUT”(创建)/ GET(读取)/ PUT(更新)/ DELETE(删除)。
如果要通过HTTPS发送大量数据或敏感数据,则需要使用POST。如果只是一个简单的参数,我将使用GET。
GET请求对可发送的数据量有限制。我忘记了确切的数字,但是如果您发送的是实质性内容,这可能会导致问题。
基本上,GET和POST之间的区别在于,在GET请求中,参数是在URL中传递的,而在POST中,参数是包含在消息正文中的。
两者都用于发送一些数据并使用该数据接收一些响应。
GET:获取服务器中的信息存储。就是 搜索,鸣叫,人员信息。如果要发送信息,则使用process.php?name = subroto获取请求发送请求,因此它基本上是通过url发送信息。网址最多只能处理2083个字符。因此,对于博客帖子,您还记得这是不可能的吗?
开机自检:开机自检与获取相同。用户注册,用户登录,大数据发送,博客文章。如果您需要发送安全信息,请使用post或大数据,因为它们不会通过url。
AJAX:$ .get()和$ .post()包含的功能是$ .ajax()的子集。它有很多配置。
$ .get()方法,这是$ .Ajax()的一种简写形式。使用$ .get()时,您无需传递对象,而可以传递参数。至少,您需要前两个参数,这是您要检索的文件的URL(即“ test.txt”)和成功回调。
概要:
$.get( url [, data ] [, success ] [, dataType ] )
$.post( url [, data ] [, success ] [, dataType ] ) // for sending secure or Large information
$.ajax( url [, settings ] ) // More Configaration
关于我,我更喜欢POST。我保留获取事件的信息,我知道发送的值限于我拥有“控制权”的数据,例如,检索带有ID的项目。例如,“ getitem?id = 123”,“ deleteImtem?id = 123”,...对于其他情况,当我有一个可由用户填写的表单时,我更喜欢POST。
就像Ryan Smith所说的那样,最好使用POST发送大量数据,而在使用其他语言/特殊字符的情况下则要少一些麻烦(通常所有专业javascript框架都应该没有任何问题可以解决,但是我认为使用POST的担心更少。
从REST的角度来看,我认为您可以将其用于新项目(以保持与整个项目的一致性)。
最后,也许网络中使用的某些程序(URL记录器(即:查看员工是否在非自定义站点上丢失了时间,...)代理,...)或任何其他类型的工具都可以拦截查询。有人会在报告中显示您使用GET发送的参数,将其视为不同的网页。但是在这种情况下,这可能不是您的问题,而是从一个项目更改为另一个项目!;)