微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax传json为null

最近在使用ajax传递json时遇到了一个问题,前端发送的json数据一直为null,经过排查发现原因其实很简单。

ajax传json为null

首先,我们需要确认ajax发送的数据格式是否正确,是否符合后端接口的要求。

$.ajax({
    type: "POST",url: "/api/data",contentType: "application/json",data: JSON.stringify({
        name: "小明",age: 20,gender: "male"
    }),success: function(data){
        console.log(data);
    },error: function(error){
        console.log(error);
    }
});

以上是一个简单的ajax请求示例,通过contentType指定请求头的Content-Type为application/json,data使用JSON.stringify序列化提交的json数据。

但是,如果json传递时,某些属性值为null,那么这些属性就不会被序列化进json字符串中而导致后端接收到的json为null。

$.ajax({
    type: "POST",age: null,error: function(error){
        console.log(error);
    }
});

以上代码中,age属性值为null,那么他在序列化时就被忽略了。

解决方法也很简单,使用认值如果为null则赋值为""或者0。

$.ajax({
    type: "POST",age: age || 0,error: function(error){
        console.log(error);
    }
});

以上代码中,如果age属性值为null,则赋值为0。

总之,当我们使用ajax传递json时,需要注意属性值是否为null,如有null需要特殊处理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐