php - 前端用ajax发送空数组到后端,后端获取不到这个空数组!

查看:102
本文介绍了php - 前端用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:"<?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("失败!");
    }                    
   }
})

求大神解惑!

解决方案

严格控制格式:
data:JSON.stringify(send_data)

顺便一提,前后端约定好格式之后,前端这边转成json编码之后,是可以传空数组(当然,编码之后就不能叫做数组了)。
后端(php)json_decode()就行了。

最后再多说点,前端代码里面混入PHP代码感觉有点难看。。。

这篇关于php - 前端用ajax发送空数组到后端,后端获取不到这个空数组!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆