关于【ajax中post和get方法的区别】这件事

get和post都是向服务器发送的一种请求,只是发送的机制不同。

两者最简单的区别
1、使用get请求时,参数在url中显示,而使用post方式,则不会显示出来(get请求会将参数跟在url够进行传递,而post请求则是作为HTTP消息的实体内容发送给web服务器。当然在ajax请求中,这种区别对用户是不可见的。)

2、使用get请求发送数据量小,只能传递大约1024字节。post请求发送数据量大,可以达到2M(理论上无限制)

3、get请求需注意缓存问题,post请求不需担心这个问题(get方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。某种情况下,get方式会带来严重的安全问题。而post方式相对来说就可以避免这些问题 )

使用get方式需要注意:
1、缓存 在url?后面链接一个随机数,时间戳

2、乱码  编码encodeURI

对于get请求,被传递的参数要先经encodeURIComponent方法处理,例如:xhr.open('get','2.get.php?username = '+encodeURIComponent(leo)+'&age=30&'+new Date().getTime(),true);即get传递参数需要拼接到url当中(new Date().getTime()是添加的时间戳)。

使用post方式需要注意:
1、数据放在send()里面作为参数传递。例:xhr.send('username=leo&age=30');

2、需要设置requestHeader的content-type为application/x-www-form-urlencoded申明发送的数据类型。例:xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');

所以post没有缓存问题,也无需编码

原文链接:https://blog.csdn.net/lhjuejiang/article/details/79470245

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值