Maison > Article > développement back-end > 前端用ajax发送空数组到后端,后端获取不到这个空数组!
事情是这样的,我用ajax和后端交互,需要发送一堆数据给后端,我把数据封装了一下后是以下的格式!这个就是我下面ajax函数里面的就send_data。
数据是一个对象数组,组数中包含的对象有两个key,分别是role_code和user_list。其中user_list又默认是一个数组,可以为空。
于是我去浏览器查看请求信息,发现我貌似真的没有把几个空的数组发过去。
我就感到很疑惑,jqeury的ajax函数不能将空数组传过去吗?附上我的ajax代码,其中的send_data就是我最开始打出来的数据。
<code>$.ajax({ url:"<?php echo site_url('AnnouncementAgent/UserDepartmentConfig/editDepartmentRoleInfo');?>"+"/"+$(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("失败!"); } } })</code>
事情是这样的,我用ajax和后端交互,需要发送一堆数据给后端,我把数据封装了一下后是以下的格式!这个就是我下面ajax函数里面的就send_data。
数据是一个对象数组,组数中包含的对象有两个key,分别是role_code和user_list。其中user_list又默认是一个数组,可以为空。
于是我去浏览器查看请求信息,发现我貌似真的没有把几个空的数组发过去。
我就感到很疑惑,jqeury的ajax函数不能将空数组传过去吗?附上我的ajax代码,其中的send_data就是我最开始打出来的数据。
<code>$.ajax({ url:"<?php echo site_url('AnnouncementAgent/UserDepartmentConfig/editDepartmentRoleInfo');?>"+"/"+$(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("失败!"); } } })</code>
严格控制格式:
data:JSON.stringify(send_data)
顺便一提,前后端约定好格式之后,前端这边转成json编码之后,是可以传空数组(当然,编码之后就不能叫做数组了)。
后端(php)json_decode()就行了。
最后再多说点,前端代码里面混入PHP代码感觉有点难看。。。
name值加上
<code>data:{user_list:send_data},</code>
<code>$.ajax({ type: "POST", url: '', dataType:'json', data: { 参数A: 参数A的值, 参数B: 参数B的值 }, success:function(result){ if (result.success) { }else{ } } });</code>