post 请求 , 'Content-Type' : 'application/json',数据为json,发送到后台报错

clipboard.png
这是请求部分。

clipboard.png
后台报错部分

clipboard.png
这是response

clipboard.png

这是后台约定

阅读 13.8k
9 个回答
新手上路,请多包涵

传给后端的fences字段值必须是字符串,不可以是一个object,可以写成这种:

{
    fences: JSON.stringify(object)
}

我认为应该这样:

data: JSON.stringify({
     'name' : 'test',
    'fences' : [....],
    ...
});

也就是把整个data后面的对象转为JSON字符串的形式传给后台。

新手上路,请多包涵

把data转为json字符串传过去试试看

尝试这样改:

{'Content-Type': 'application/x-www-form-urlencoded'}

我之前也遇到过类似的,换成ajax请求,试试看图片描述

前端规定contentType的目的就是,规定发送给服务器的消息类型。
contentType:"application/json"表示发送给服务端的消息主体是序列化的JSON的字符串。
以上,所以传输的data必须是序列化的JSON字符串,JSON.stringify()

这是前后端json格式没有对上

            var p = {
                shop_sn: this.shop_sn,
                username: this.username,
                userpwd: this.userpwd
            };
            var qs = JSON.stringify(p);

这是我的方式!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题