欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-02 14:27:36
...

事情是这样的,我用ajax和后端交互,需要发送一堆数据给后端,我把数据封装了一下后是以下的格式!这个就是我下面ajax函数里面的就send_data。

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

数据是一个对象数组,组数中包含的对象有两个key,分别是role_code和user_list。其中user_list又默认是一个数组,可以为空。

这个数组已经成功发送到后端了,就是里面length是0的user_list后端获取不到!长度不是0的user_list后端都能获取到

于是我去浏览器查看请求信息,发现我貌似真的没有把几个空的数组发过去。

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

我就感到很疑惑,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。

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

数据是一个对象数组,组数中包含的对象有两个key,分别是role_code和user_list。其中user_list又默认是一个数组,可以为空。

这个数组已经成功发送到后端了,就是里面length是0的user_list后端获取不到!长度不是0的user_list后端都能获取到

于是我去浏览器查看请求信息,发现我貌似真的没有把几个空的数组发过去。

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

我就感到很疑惑,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{
                
            }
        }
    });
相关标签: jquery ajax php