【问题标题】:Using fetch (POST) calling a laravel API, the request object is empty使用 fetch (POST) 调用 laravel API,请求对象为空
【发布时间】:2019-09-10 22:07:00
【问题描述】:

我遇到了一个问题,我在 Vue 应用程序中使用 fetch 来调用我的 Laravel API。 但是,我在 Laravel 中的请求对象是空的

这是在 laravel 6 中使用 fetch。我尝试使用 postman 和 axios 都可以正常工作。

const requestOptions = {
          method: 'POST',
          headers: requestHeader(false),
          /* eslint-disable-next-line */
          body: JSON.stringify({ "email": 'test@test.com', "password": 'password' })
        }

        return fetch(`${baseUrl}/auth/authenticate`, requestOptions)

Laravel 控制器:

public function authenticate(Request $request) : JsonResponse
    {
        return response()->json(['message' => $request], 422);
    }

$request 对象为空。

如果我这样做。然后我看到了数据:

$data = json_decode($request->getContent(), true);

不确定我在获取时做错了什么。任何帮助将不胜感激

【问题讨论】:

    标签: laravel fetch


    【解决方案1】:

    这对我有用:

    headers: {
      "Content-Type": "application/json",
      "Accept": "application/json",
      "X-Requested-With": "XMLHttpRequest",
      "X-CSRF-TOKEN": "{{csrf_token()}}"
    },
    

    【讨论】:

    • 欢迎并感谢您的贡献。请编辑以添加有关您建议的选择解决了 OP 问题的原因的扩展。在 SO 上不鼓励仅代码响应。高质量的答案会随着时间的推移而获得支持,因为未来的访问者会从您的帖子中学到一些东西,然后他们可以将其应用于自己的编码问题,或防止未来出现问题。
    • 另外,请注意使用辣椒大写和语法。
    猜你喜欢
    • 2021-08-02
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 2020-11-24
    • 2019-09-08
    相关资源
    最近更新 更多