将表单数据中的对象值传递给 API?

Pass object value in form data to API?

这是我的后端 API 来自 POSTMAN 的结果:

我这里有两把钥匙,分别是jsonitemFile

   createItem(){

     const itemData = this.state;
     const selectedFile = this.state;

     const formData = new FormData();
        formData.append('json', itemData)
        formData.append('itemFile', selectedFile)

        console.log(formData)


        fetch(`http://localhost:9000/api/item/submit`, 
         {
             method: 'post',
             body: formData
         }).then ((result) => {  
                 let responseJSON = result;
                 console.log(responseJSON);
                 });
      }

在那之后,我得到了错误 无法识别的令牌 'object':需要('true'、'false' 或 'null')\n 在 [来源:(字符串)\"[object Object]\ ";行:1,列:8]

我需要使用JSON.Stringify吗?但我将如何在表单数据中使用它?

itemData 在你的代码中必须是一个对象。

FormData append 方法的第二个参数应该是一个USVString 或Blob(包括子类如File)。

如果指定了其中的 none,则通过调用 toString 方法将值转换为字符串。

formData.append('json', itemData)

formData.get('json')  // "[object Object]"

因此,您需要在附加到 formData

之前使用 JSON.stringify
formData.append('json', JSON.stringify(itemData))