node.js - 为什么获取帖子响应中的正文为空
问题描述
我正在向我的 Node.js 服务器发送 POST 请求,但在 fetch 响应中返回的正文为空。
export default class PanelAddProd extends React.Component<any, IState>{
state: IState = {
"url": 'http://localhost:3000/products',
name: 'e2334r23',
desc: 'r2dfsdfwqewqedf',
price: 44,
}
updateName = (e: React.FormEvent<HTMLInputElement>) => {
this.setState({name: e.currentTarget.value});
}
updateDesc = (e: React.FormEvent<HTMLTextAreaElement>) => {
this.setState({desc: e.currentTarget.value});
}
updatePrice = (e: React.FormEvent<HTMLInputElement>) => {
this.setState({price: Number(e.currentTarget.value)});
}
addProduct = async (e: React.FormEvent<HTMLInputElement>) => {
e.preventDefault();
const data = JSON.stringify({
name: this.state.name,
description: this.state.desc,
price: this.state.price,
});
const fetchOpts = {
body: data,
method: 'POST', // or 'PUT'
mode: 'no-cors' as RequestMode,
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
};
try {
console.log('Fetch data ', data);
const response = await fetch(this.state.url, fetchOpts);
console.log('Fetch response ', response);
return response;
} catch (error) {
console.log('Fetch error ', error);
}
}
服务器端代码:
import { Controller, Body, Post } from "@nestjs/common";
import { ProductsService } from "./products.service";
@Controller('products')
export class ProductsController{
constructor(private readonly productsService: ProductsService) {}
@Post()
async addProduct(@Body('name') prodTitle: string, @Body('description') prodDesc: string, @Body('price') prodPrice: number) {
console.log('---------------------------------------------------------------------');
console.log('Adding product...', prodTitle, prodDesc, prodPrice);
const generatedId = await this.productsService.insertProduct(
prodTitle,
prodDesc,
prodPrice
);
console.log('Product added', generatedId);
return { id: generatedId };
}
}
在尝试中,console.log 数据有值,但 response.body 为空。我的 nodeJS 服务器对请求做出反应,但正如预期的那样,它没有得到任何数据,并且它的 console.log 将所有变量都写为未识别的。
解决方案
推荐阅读
- python - 为什么 python .exe 不能在某些 PC 上运行,而在其他 PC 上运行(使用 pyinstaller)
- class - Dart OOP - 不知道确切的类
- sql - 甲骨文中的 SUMIF
- erlang - 尝试在 Erlang 中编译时出现语法错误,嵌套 if 语句
- python - 当我运行我的代码时,我收到了这个错误: SyntaxError: 'return' outside function
- python - ValueError at /accounts/profile/edit/,,,,, 字段 'id' 需要一个数字,但得到了 'edit'
- javascript - 两个相似的for循环输出不同的值
- c# - 如何在 Dapper 存储过程中模拟返回值语句
- python - 如何使用字典绘制 Seaborn 百分比条形图?
- firebase - 颤振“错误:未找到:'dart:html'导入'dart:html';”