Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在vue.js中的axios中发布_Javascript_Axios - Fatal编程技术网

Javascript 无法在vue.js中的axios中发布

Javascript 无法在vue.js中的axios中发布,javascript,axios,Javascript,Axios,我尝试过这个代码 axios .post("http://localhost:3010/user/login", { headers: { "Content-type": "application/json" }, body: JSON.stringify({ username: "username", password: "password" }) }) .then(response => { thi

我尝试过这个代码

axios
    .post("http://localhost:3010/user/login", {
      headers: {
        "Content-type": "application/json"
      },
      body: JSON.stringify({ username: "username", password: "password" })
    })
    .then(response => {
      this.resp = response;
    })
    .catch(e => {
      console.error(e);
    });
但响应它无效登录,但它在邮递员工作

怎么了

在这样的网络响应中


当您使用post发送对象时,它会转换为字符串,因此您有效地发送到API端点的是:

JSON.stringify(JSON.stringify({用户名:“用户名”,密码:“密码”}))
没有这个必要

此外,您不会将正文作为标题的一部分发送

post(url[,数据[,配置]])

在您的例子中,这意味着您发送三个参数:url、数据和选项。由于您发送的唯一头是json数据,axios可以为您处理这些数据,因此不需要本例中的选项,因此您可以只使用前两个参数

axios
.邮政(
"http://localhost:3010/user/login",
{
用户名:“用户名”,
密码:“密码”
}
)
。然后(响应=>{
this.resp=响应;
})
.catch(e=>{
控制台错误(e);
});
更改标题 来自

headers: {
        "Content-type": "application/json"
      }

headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}

现在试一试,它对我很有效

为什么不做一个简单的
axios.post(“http://localhost:3010/user/login“,{username:“username”,password:“password”})
并让Axios和Laravel处理标题和JSON。为什么要设置
内容类型
,为什么要
字符串化
ing?非常确定axios在默认情况下以JSON的形式发送。我猜它认为您发送的是实际的“字符串”,而不是JSON对象。看起来您的数据和选项混淆了。