ajax传参的3种形式

在Javascript语法中,{“foo”:“bar”}等效于{foo:“bar”}。

jax有三种传递传递data的方式:

json格式
json字符串格式
标准参数模式
1.json格式形如:
{“username”:”chen”,”nickname”:”alien”}

$.ajax({
	type: "post",
	url: "/test/saveUser",
	data: {
		"username": "chen",
		"nickname": "alien"
	},
	dataType: "json",
	success: function(data) {
		console.log(data);
	}
});

2.json字符串

形如:
“{“username”:”chen”,”nickname”:”alien”}” 或者JSON.stringify({“username”:”chen”,”nickname”:”alien”})

$.ajax({
	type: "post",
	url: "/test/saveUser",
	data: JSON.stringify({
		"username": "chen",
		"nickname": "alien"
	}),
	contentType: "json/application"
	dataType: "json",
	success: function(data) {
		console.log(data);
	}
});

用此格式get请求参数传递不过去,不会把json串解析成参数
而且需要添加 contentType:”json/application”

3.标准参数模式

形如:
“username=chen&nickname=alien

$.ajax({
	type: "post",
	url: "/test/saveUser",
	data: "username=chen&nickname=alien",
	dataType: "json",
	success: function(data) {
		console.log(data);
	}
});

$(“#form1”).serialize() 就是把表单的数据拼成这个格式的字符串!

总结:
post请求能用1、2、3类型传递参数
get请求能用1、3类型传递参数
$(“#form1”).serialize() 是将对应表单中的input的name和value进行拼装,最后拼成3类型的字符串

总结一下ajax请求能够发送的数据格式:

(1)&连接的key=value,适用于GET和POST请求,此时contentType必须为application/x-www-form-urlencoded,后端不能使用@RequestBody注解
(2)json对象,适用于GET和POST请求,且此时contentType必须为application/x-www-form-urlencoded,ajax会自动将 json对象转化为&连接的key=value格式的数据,GET请求就拼接在url后面,POST请求就放入post请求体中,后端不能使用@RequestBody注解
(4)json字符串,只适用于POST请求,且此时contentType必须为application/json,后端必须使用@RequestBody注解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值