当使用Ajax(异步JavaScript和XML)访问服务器而不重新加载网页时,在如何将请求信息传递给服务器方面有两种选择:GET或POST。
这两个选项与向服务器传递请求以加载新页面时的选项相同,但有两个不同之处。第一种情况是,您只请求一小部分信息,而不是整个网页。第二个也是最明显的区别是,由于Ajax请求没有出现在地址栏中,所以当请求发出时,访问者不会注意到差异。
使用GET进行的调用不会在使用Ajax进行调用时使用POST也不会公开的任何地方公开字段及其值。
那么,我们应该如何选择这两种选择中的哪一种呢?
一些初学者可能会犯的一个错误是,在大多数调用中都使用GET,因为这两种方法中比较容易编码。Ajax中GET调用和POST调用之间最显著的区别在于,GET调用对可以传递的数据量的限制与请求新页面加载时相同。
唯一的区别是,因为您只使用Ajax请求处理少量数据(或者至少应该这样使用),所以您不太可能像加载完整网页那样在Ajax中遇到这种长度限制。初学者可能会保留使用POST请求来传递GET方法允许的更多信息的少数实例。
当您有大量数据要传递时,最好的解决方案是进行多个Ajax调用,一次传递几条信息。如果在处理整个Ajax页面时不需要花费大量的时间,那么重新加载整个页面的数据可能会更好。
因此,如果要传递的数据量不是在GET和POST之间进行选择的好理由,那么我们应该使用什么来决定?
这两种方法实际上是为了完全不同的目的而建立的,它们工作方式的不同部分是因为它们的用途不同。这不仅适用于使用Ajax中的GET和POST,而且适用于可能使用这些方法的任何地方。
GET的使用顾名思义就是:获取信息。它的目的是当你阅读信息时使用。浏览器将缓存GET请求的结果,如果再次发出相同的GET请求,浏览器将显示缓存的结果,而不是重新运行整个请求。
这不是浏览器处理中的缺陷;它特意设计成这样,以便使GET调用更高效。GET调用只是检索信息;这并不意味着要更改服务器上的任何信息,这就是再次请求数据应该返回相同结果的原因。
POST方法用于在服务器上发布或更新信息。这种类型的调用预计会更改数据,这就是为什么从两个相同的POST调用返回的结果可能完全不同于另一个的原因。第二次POST调用之前的初始值将不同于第一次调用之前的值,因为初始调用将至少更新其中一些值。因此,POST调用将始终从服务器获取响应,而不是保留先前响应的缓存副本。
不要根据Ajax调用中传递的数据量在GET和POST之间进行选择,而应该根据Ajax调用实际执行的操作进行选择。
如果调用是从服务器检索数据,则使用GET。如果要检索的值由于其他进程的更新而随时间变化,请将当前时间参数添加到GET调用中传递的内容中,以便以后的调用不会使用不再正确的结果的早期缓存副本。
如果您的呼叫要将任何数据写入服务器,请使用POST。
事实上,您不仅应该使用此标准在Ajax调用的GET和POST之间进行选择,还应该在选择用于处理web页面上表单的选项时使用此标准。
...POST方法通过HTTP头发送信息。 PHP是一种为web开发而设计的服务器端脚本语言。GET和POST方法是客户端计算机向web服务器发送信息的两种方法。这些方法有助于通过表单从用户检索信息。 目录 1. 概述和主要区别 2. 什么是PHP中的GET...
...,它是使用JavaScript构建的,而Ajax则是一种使用JavaScript与服务器通信的技术或方式,而无需重新加载web页面。jQuery的许多功能都使用Ajax。Ajax和jQuery齐头并进,很难比较这两种语言,因为它们经常一起使用。 什么是jquery公司(jquer...
...决于您尝试访问的URL),浏览器的同源安全策略可能会在这里产生干扰。您可以启用跨源资源共享来解决这个问题,但只要指向与您的页面位于同一域上的URL就足够了。 ...
...ON将数据从JavaScript发送到Python。我将介绍如何设置一个web服务器,以及您需要的所有代码。 ...
...之一(what is JavaScript)。在它诞生的时候,JavaScript(从这里开始在中称为JS)处于一个非常不同的位置。2006年1月14日是jQuery在BarCampNYC发布的日子。JS还有些欠缺——浏览器都支持它的一部分,但为了符合要求,必须实施许多黑...
...并删除了代码(或更改了主题),旧图像也将永远保留在服务器上。WordPress不会为您删除未使用的图像。在一个像MakeUseOf这样老的或大的站点上,这意味着存储不再使用的图像会浪费几百GB的空间。 ...
...洞的最古老方法之一。它针对通常需要登录等身份验证的服务器端web交换机。在CSRF攻击过程中,攻击者的目标是强迫其受害者代表他们发出未经授权的恶意web请求。 ...
...web的CGI(公共网关接口)应用程序,它允许Perl脚本从web服务器执行。只需稍加配置,就可以在WindowsServer2008系统上配置IIS7,以便通过CGI提供Perl脚本。 复制perl二进制文件 在完成任何IIS安装之前,必须将Perl二进制文件提取到系...
...您从Windows、macosx或Linux上的命令行访问各种Google服务。在这里,我们将在Windows7上使用Windows版本,但在其他平台上的工作方式完全相同。 请转到下面的下载链接,并为您的操作系统选择正确的版本。如果要在Windows上运行,请选...