ajax的get和post的具体使用区别,在什么情况下使用ajax的get请求,在什么情况下使用ajax的post请求
用GET 还是 POST?
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求:
(1) 无法使用缓存文件(更新服务器上的文件或数据库)
(2) 向服务器发送大量数据(POST 没有数据量限制)
(3) 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
AJAX 用法总结
http://bbs.csdn.net/topics/392311241
Get和Post都是向服务器发送的一种请求,只是发送机制不同。
1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。
2. 首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
3. GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。
get请求和post请求在服务器端的区别:
4. 在客户端使用get请求时,服务器端使用Request.QueryString来获取参数,而客户端使用post请求时,服务器端使用Request.Form来获取参数.
HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。
当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。
若符合下列任一情况,则用POST方法:
Get和Post都是向服务器发送的一种请求,只是发送机制不同。
1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。
2. 首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
3. GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。
get请求和post请求在服务器端的区别:
4. 在客户端使用get请求时,服务器端使用Request.QueryString来获取参数,而客户端使用post请求时,服务器端使用Request.Form来获取参数.
HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。
当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。
传值方式不一样,,,,在我们公式查询请求时通过get请求,保存是通过POST请求,修改是通过PUT请求,删除时DELETE请求。
Get请求把表单的数据显式地放在URI中(例:http://ask.csdn.net?questions=‘ajax的get和post的具体使用区别’),并且对长度和数据值编码有所限制.Post请求把表单数据放在HTTP请求体中,并且没有长度限制.
楼上都是写比较官方正规的答案,我来说说我日常使用的心得
1.get提交的内容少一写,但也因此块些,但会把提交参数存在浏览器上并用&符号給分割,所以相对不安全,而且会产生浏览器缓存,如果浏览器
未设置从服务器刷新的话,提交同一个请求的情况下返回数据只会从浏览器缓存中取而不会再从服务器发请求返回,我就遇到过这种问题,解决的方法
是要么请求参数里多加一个时间戳参数,要么改用post请求,要么保证浏览器都是从服务器刷新的(这个自己浏览器可以设置,客户的不一定,可忽视)
2.反之就是post的的特点,提交的内容多些,安全些,但相对一慢一点。
$.post
结构和使用方式上跟get的都基本相同。但是也有一些主要区别
1)GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。
2)GET方式对传输的数据大小有限制,通常不能大于2KB,而POST方式传递的数据量要比GET方式大得多,理论上不受限制。
3)GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。
4)GET方式和POST方式传递的数据在服务器端的获取也不相同。在PHP中,GET方式的数据可以用$_GET[]获取,而POST方式可以用$_POST[]获取。两种方式都可以用$_REQUEST[]来获取。
1.某些请求限制了,只能通过post或者get 的一种方式取请求
2. get 通常 不带参数,或者参数长度很短,post通常往服务器用于传输较大数据 ,比如上传文件
简单的说,就是如果是查询之类的,参数比较少,就用get,如果是表单提交等,参数较多,则用post
一般情况下,查询使用get请求,填写表单使用post请求;
但是,如果查询中入参等考虑安全性问题或者入参过多,就使用post请求。
因为get请求在url中?后拼接参数,而post请求是将参数放到请求正文中;
get是指定上传某些参数, post是全部上传
get是从服务器上获取的数据。podt则是向服务器传送数据。
get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
get方式,服务器端用Request.QueryString获取变量的值。
post方式,服务器端用Request.Form获取提交的数据。
get安全性比较低。post安全性较高。
get 请求时明码传送而且传送信息量小 只有225k大小
post请求是暗码传送,并且传送信息量大。
get请求要注意缓存,而post不用,get请求的参数会在URL中显示,post不会。
Get请求内容大小有限制,而且不安全
Post请求理论是没有大小限制的,相对安全
Get请求内容大小有限制,而且不安全
Post请求理论是没有大小限制的,相对安全
实际项目中post会多一些,安全并且实用
不同的数据传输方式,post一般用于数据量大的传输,