AJAX ,GET POST区别

转载 2012年03月30日 10:07:08

当我们不通过重新加载页面,用Ajax访问服务器的时候,有两个选择可以将请求信息传送到服务器上。这两个选择分别是GET和POST。

在把请求信息发送到服务器上以加载新的页面时,这两个选择有两个不同之处。第一个区别是你是请求了信息的一小部分而不是整个页面。第二个区别也是最明显的区别是由于Ajax请求不会出现在地址栏中,因此当发送请求时,在访问者的屏幕上是看不出什么异同的。使用GET生成调用不会暴露域和它们的值,使用POST也不会暴露。因此,我们要怎样在这两者之间作出选择呢?

初学者可能犯的一个错误是对于大多数的调用都使用GET命令,仅仅因为这一命令相对而言更容易编写。GET与POST调用之间最显著的差异是当发出加载新页面请求时,GET调用对于同样数量的数据有着相同的限制。唯一的区别是你处理的少量的Ajax请求数据,而你并不想通过这种长度运行的限制来完成页面的加载。初学者可能会在少数情况下,如他们确实需要传送更多信息时,使用POST。

当我们有大量数据要传送时最好的办法是一次发出多个只传递少量信息的Ajax调用时。如果你正用一个Ajax调用发送大量数据,那么最好是结束这种做法,因为这样做并不能节约时间。

因此,需要传送大量数据能成为我们在GET和POST之间犹豫不决的理由吗?这两个方法都是为不同的目的而设计的,两者的不同也在于其使用目的。这一说法不仅适用于GET和POST的使用,也适用于其他的方法。

GET的目的就如同其名字一样是用于获取信息的。它旨在显示出页面上你要阅读的信息。浏览器会缓冲GET请求的执行结果,如果同样的GET请求再次发出,浏览器就会显示缓冲的结果而不是重新运行整个请求。这一流程不同于浏览器的处理过程,但是它是有意设计成这样以使GET调用更有效率。GET调用会检索要显示在页面中的数据,数据不会在服务器上被更改,因此重新请求相同数据的时候会得到相同的结果。

POST方法应该用于你需要更新服务器信息的地方。如某调用要更改保存在服务器上的数据,而从两个同样的POST调用返回的结果或许会完全不同,因为第二个POST调用的值与第一个的值不相同,这是由于第一个调用已经更新了其中一些值。POST调用通常会从服务器上获取响应而不是保持前一个响应的缓冲。

因此,不要用数据的量来决定是要选择GET还是POST,而应该按照目的在两者间作出选择。如果调用是要检索服务器上的数据则使用GET。如果要检索的值会随时间和更新进程的改变而改变则要在GET调用中添加一个当前时间参数,这样后面的调用才不会使用先前的不正确的缓冲。如果调用是向服务器上发送任意数据,就可以使用POST。

事实上,我们不应该不仅仅只将这个标准作为选择怎样使用GET和POST调用的标准,在处理页面处理形式的时候也可以将它作为取舍这两个调用的标准。

转自:http://developer.51cto.com/art/200906/130400.htm

相关文章推荐

Ajax中get和post区别

  • 2013-01-25 18:28
  • 743KB
  • 下载

ajax中get和post两种请求的区别

Ajax(Asynchronous Javascript And XML)即异步JavaScript和XML,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新;这意味着可以在不...

Jquery AJAX POST和GET区别

Jquery AJAX POST和GET区别   Jquery AJAX POST和GET区别 1:GET访问 浏览器 认为 是等幂的 就是 一个...

$.get(),$.post(),$.ajax()的区别和联系

背景   软考之后,又投入到了项目当中。刚敲几行Web前端代码,就敲不下去了。之前也做过很长一段时间项目,本应该很熟练的啊!哎,都是不及时总结的原因,悔恨中……这不,又遇到了在MVC中传值问题。不...

AJAX 学习笔记[三] get 与post 模式的区别

如果是get 模式的请求,则将传递参数通过URL 地址发送到服务器端; 如果是post 模式的请求,则将传递参数通过send( ) 方法发送到服务器端(并且必须设置请求文件头);   po...
  • Baple
  • Baple
  • 2013-08-31 10:56
  • 595

jquery中$.get(),$.post(),$.ajax(),$.getJSON()区别详解以及aja

首先来科普下ajax,ajax即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 通过在后台与服务器进...

Jquery AJAX POST和GET区别

1:GET访问 浏览器 认为 是等幂的 就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配] 所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问...

$.get、$.post、$.getJSON、$.ajax的用法跟区别

$.get、$.post、$getJSON、$ajax的用法跟区别

AJAX中POST与GET之间的区别

本文是对ajax的POST与GET之间的区别,当然ajax不仅仅只是post和get,但是这两种一定是绝大多数开发者最常用的方法。下面就来探讨一下ajax中的post和get方式,能力有限,希望对大家...

深入理解AJAX系列第二篇--GET请求和POST请求的区别

深入理解AJAX系列第二篇--GET请求和POST请求的区别
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)