从服务器获取422-我是否错误地传递了JSON对象?

时间:2018-12-12 14:12:16

标签: json post http-status-code-422

我正在研究一个React项目,该项目将数据推送到在localhost上运行的node.js服务器。实际代码在这里:

task = {text:e.target.value};
        console.log(task.text);
        task = JSON.stringify(task);
        console.log(task.text);
        console.log(task);

        axios.post('http://192.168.0.116:8080/todos', {task})
            .then(response => {console.log(response);
            this.axGetTasks(response.data);
            })
            .catch(error => {
                if (error.response) {
                    console.log(error.response);
                }
            })

服务器返回422并给出以下解释:{数据:“'text'字段必须存在于json中”。

我要传递的对象的Console.log:

{"text":"gdf"}

服务器正在运行此测试:

(!if.req.body.text)

我想我输入的格式错误,但是我看不到错误-特别是因为我依赖JSON.stringify。创建任务对象时我犯了一个错误?当我尝试console.log(task.text);它返回未定义-但我不知道为什么,因为我对JSON的了解很少。我相信我使用的格式符合标准。我将不胜感激!

编辑:JSON对象如何附加到URL?是否通过“?”作为参数?

1 个答案:

答案 0 :(得分:0)

Axios确实将其字符串化。删除字符串化可以解决问题。