【问题标题】:Json data parses incorrectlyJson 数据解析不正确
【发布时间】:2020-10-31 17:57:14
【问题描述】:

React JS 前端、Express JS 中间件、Laravel 后端 当数据从 react 发送到 express 然后到 laravel 时,数据在 laravel 中没有以正确的格式解析。

React 前端发帖表达

  const data = await fetch(`${config.appURL}/deployment/stage1`, {
  method: "POST",
  body: JSON.stringify(form),
  credentials: "include",
  headers: {
    "Content-Type": "application/json",
  },
});

快递中间

router.post("/", (req, res) => {
if (req.session.token) {
request(
  {
    method: "POST",
    uri: `${config.apiURI}/deployment/stage1`,
    body: JSON.stringify(req.body),
    headers: {
      Authorization: `Bearer ${req.session.token}`,
      "Content-Type": "application/json",
    },
  },

Laravel

    public function stage1(Request $request){

    return $request->all();

试过json_decode,接收错误期望参数1是字符串,尝试访问laravel $request->my_field中的变量,接收错误无法访问无对象

【问题讨论】:

  • 检查您生成的 JSON 是否有效。 Online validator
  • 为什么要标记节点并表达?
  • 您的 Express 服务器是否有将 JSON 解析为 req.body 的中间件?
  • JSON.stringify(form) 是您要发送的实际 JSON 吗?你看过它创造了什么吗?

标签: node.js json reactjs laravel express


【解决方案1】:

已解决,我错过了接受标头

router.post("/", (req, res) => {
if (req.session.token) {
request(
{
method: "POST",
uri: `${config.apiURI}/deployment/stage1`,
body: JSON.stringify(req.body),
headers: {
  Authorization: `Bearer ${req.session.token}`,
  "Content-Type": "application/json",
  "Accept": "application/json"
},
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2016-07-18
    相关资源
    最近更新 更多