AJAX中get和post请求的区别

在一次做项目中,偶然体会到ajax的get和post请求的区别,其他的区别都和javaWeb中的一样,在此也一一列举一下:

一:携带给后端的信息位置不一样

get直接在地址后面拼接查询的字符串
post在请求体内进行信息的查询

二:携带的数据大小不一样

get:因为拼接在地址后面,大小在2kb左右
post:因为在请求体内,数据大小不受限制,除非服务器有显示

三:安全性能

get:明文发送,不安全
post:相对安全

四:携带的数据格式不一样

get:因为携带的数据是直接拼接在地址后面,只能使用url编码
post:因为在请求体内,所以可有多种形式,但是需要提前说明

举例说明:

这里写了一个点击事件,用来获取所有选中复选框的id,然后转为json对象的形式发送给后端

	$("#removeAll").click(function () {
					var jsonArr = [];
					//遍历所有复选框
					$(".chkbox:checked").each(function(){
						//获取相应的购物车id
						var id = $(this).attr("product-id");
						console.log($(this).attr("product-id"));
						//将数据转换为json对象,添加到数据
						var json = {"id":id};
						jsonArr.push(json);
					});
					$.get("shopcart.do?m=removeMore&cartId="+JSON.stringify(jsonArr),function (data) {
						if(data=="ok"){
							location.href="http://localhost:8080/shopcart.do?m=showAllCart";
						}
					})
				})

浏览器的控制台可以看到都可以获取到它们的id

 

后端控制台可以看到这个错误

 

意思就是在请求目标中找到无效字符串,说明get请求不能将json对象格式的编码信息通过url传给后端,这里我们只需要改成post请求即可完成该需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值