【问题标题】:Vue + Laravel 8 Vue Fetch API POST request body value not obtained in HTTP requestVue + Laravel 8 Vue Fetch API POST请求正文值未在HTTP请求中获取
【发布时间】:2021-04-30 06:39:16
【问题描述】:

注意:post 请求确实到达了路由,但我的 params 数组为空。我没有收到任何请求错误。我的路由代码在 api.php 中。获取请求作品。虽然它在邮递员的要求下工作

谁能告诉我我在这里缺少什么?我已经浏览了一些可用的示例,并在代码中做了同样的事情,但仍然没有成功。提前致谢。

这是我的 Laravel 路由代码

Route::post('/addtask', function (Request $request) {
    $params = $request->except('_method', '_token');       
    try {
        return Upcoming::create([
            'title' => $request->title,
            'taskId' => $request->taskId,
            'waiting' => $request->waiting
        ]);
    } catch (Exception $ex) {
        return  $ex->getMessage();
    }
});

这是我的 Vue 代码

const task = {
    title: this.newTask,
    waiting: true,
    taskId: Math.random().toString(36).substring(7),
};
fetch("/api/addtask", {
    method: "POST",
    header: {
        "Content-Type": "application/json",            
    },
    body: JSON.stringify(task)          
})
.then(() => this.upcoming.push(task))
.catch((err) => console.log(err));         

这是我犯的一个愚蠢的错误。将标头更改为 vue 代码中的标头。

【问题讨论】:

  • 尝试使用postman等HTTP客户端,可以吗?
  • 是的。这是工作。我没有写有问题我会更新它。我在 $request 中没有得到任何价值的任何其他原因。
  • 什么是响应码,如果响应中有任何错误信息,也请添加
  • 我没有收到任何错误,也没有与任何错误有关。我的 $request 对象是空的,或者在从 $request $params 变量中删除 _mehod 和 _token 后可以说是空的。我在 laravel 或 vue 中遗漏了什么。

标签: laravel vue.js


【解决方案1】:

根据MDN,没有名为header的选项,它被称为headers

fetch("/api/addtask", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",            
    },
    body: JSON.stringify(task)          
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2021-01-07
    • 2018-05-10
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2015-02-18
    相关资源
    最近更新 更多