我试图向我的node JS服务器发出POST请求,我try 了Postman,效果很好,但当我使用AJAX时,我在服务器中得到了一个空数据,我try 了contentType: "application/json",但我得到了这个错误enter image description here

$.ajax({
    type: "POST",
    contentType: "application/json",
    url: "http://localhost:3000/comment",
    data: {
        "email": "admin@gmail.com",
        "contenu": "Hello",
        "id_article": 1653817160
    },
    success: function (data2) {
        console.log(data2)
    }
})

推荐答案

您的问题与NodeJS服务器上的CORS设置有关.基本上,您的服务器有这样一个策略,即每个请求都需要来自同一个域.

下面介绍了CORS的工作原理:

小心,记住这一点很重要:

警告:使用访问控制允许原点:*可以使

从npm或THEAN安装CORS包,并遵循以下代码示例:

从npm或THEAN安装CORS包,并遵循以下代码示例:
  const express = require('express');
const cors = require('cors');
const http = require('http');

require('dotenv').config();

const port = process.env.PORT || 3000;
const app = express();

app.use(express.json());
app.use(express.urlencoded({
  extended: false
}));
app.use(express.static('views'));
app.use(cors());

希望它能帮助您:)

Node.js相关问答推荐

MongoDB:更新批量操作中许多不能正常工作的内容

如何使用聚合管道交换键值对

使用ReadableStream.管道时NodeJS Crypto Hash不正确

如何在Angular jest测试中调用Nodejs的垃圾收集? node v20的测试速度慢且内存泄漏

获取页面大小为10的所有文章,每篇文章填充一些所需的用户信息

Rails 7导入npm yaml包时出现404错误

为什么 docker 容器内的应用程序无法访问它自己的 API 端点?

如何使用mongoose引用不在项目中的模型

如何获取需要加载cheerio的网站部分数据?

npm install 在 Mac 上的 Node-gyp 构建错误

React Native:执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障

来自 child_process.exec 的错误没有这样的设备或地址,管道有帮助.为什么?

NodeJS为exec设置环境变量

在 express 中添加故意延迟

对不同对象中的函数使用相同的键时,V8 中的函数调用缓慢

tsconfig.json 中模块类型的区别

NPM:为什么要安装这个包?

我可以让 node --inspect 自动打开 Chrome

expressjs app.VERB 调用中的 next() 和 next('route') 有什么区别?

FireStore 如果不存在则创建一个文档