首页 > 解决方案 > 如何修复 AdonisJS 中的“无效 JSON,仅支持对象和数组”?

问题描述

我正在使用 Adonisjs v5 和 Angular 7。当我尝试从前端上传带有 formData 的文件时,它会抛出错误

错误:无效的 JSON,只支持对象和数组

我相信这是 bodyParse 错误,但我无法解决它。

Error: invalid JSON, only supports object and array
 at parse (/Users/api/node_modules/co-body/lib/json.js:55:13)
 at AsyncFunction.module.exports [as json] (/Users/api/node_modules/co-body/lib/json.js:41:20)
 at process.internalTickCallback (internal/process/next_tick.js:77:7)"

这是我的 Angular 代码:-

const formData: FormData = new FormData();
                formData.append('name', this.name);
                formData.append('image', this.image, this.image.name);

                this.api.upload("/profile", formData,)
                .subscribe((response: Response) => {

这是我的 bodyParser 配置:-

json: {
    limit: '1mb',
    strict: true,
    types: [
      'application/json',
      'application/json-patch+json',
      'application/vnd.api+json',
      'application/csp-report'
    ]
  },
  raw: {
    types: [
      'text/*'
    ]
  },
  form: {
    types: [
      'application/x-www-form-urlencoded'
    ]
  },
  files: {
    types: [
      'multipart/form-data'
    ],
    maxSize: '20mb',
    autoProcess: true,
    processManually: []

标签: node.jsangularadonis.js

解决方案


推荐阅读