前端用ajax发送空数组到后端,后端获取不到这个空数组!
事情是这样的,我用ajax和后端交互,需要发送一堆数据给后端,我把数据封装了一下后是以下的格式!这个就是我下面ajax函数里面的就send_data。
数据是一个对象数组,组数中包含的对象有两个key,分别是role_code和user_list。其中user_list又默认是一个数组,可以为空。
这个数组已经成功发送到后端了,就是里面length是0的user_list后端获取不到!长度不是0的user_list后端都能获取到
于是我去浏览器查看请求信息,发现我貌似真的没有把几个空的数组发过去。
我就感到很疑惑,jqeury的ajax函数不能将空数组传过去吗?附上我的ajax代码,其中的send_data就是我最开始打出来的数据。
$.ajax({
url:""+"/"+$(this).parents(".modal-content").attr("id"),
type:"POST",
data:{send_data},
dataType:"json",
success:function (data) {
if (data.status==1) {
alert("成功!");
location.reload();
}else{
alert("失败!");
}
}
})
求大神解惑!
回复内容:
事情是这样的,我用ajax和后端交互,需要发送一堆数据给后端,我把数据封装了一下后是以下的格式!这个就是我下面ajax函数里面的就send_data。
数据是一个对象数组,组数中包含的对象有两个key,分别是role_code和user_list。其中user_list又默认是一个数组,可以为空。
这个数组已经成功发送到后端了,就是里面length是0的user_list后端获取不到!长度不是0的user_list后端都能获取到
于是我去浏览器查看请求信息,发现我貌似真的没有把几个空的数组发过去。
我就感到很疑惑,jqeury的ajax函数不能将空数组传过去吗?附上我的ajax代码,其中的send_data就是我最开始打出来的数据。
$.ajax({
url:""+"/"+$(this).parents(".modal-content").attr("id"),
type:"POST",
data:{send_data},
dataType:"json",
success:function (data) {
if (data.status==1) {
alert("成功!");
location.reload();
}else{
alert("失败!");
}
}
})
求大神解惑!
严格控制格式:
data:JSON.stringify(send_data)
顺便一提,前后端约定好格式之后,前端这边转成json编码之后,是可以传空数组(当然,编码之后就不能叫做数组了)。
后端(php)json_decode()就行了。
最后再多说点,前端代码里面混入PHP代码感觉有点难看。。。
name值加上
data:{user_list:send_data},
$.ajax({
type: "POST",
url: '',
dataType:'json',
data: {
参数A: 参数A的值,
参数B: 参数B的值
},
success:function(result){
if (result.success) {
}else{
}
}
});