AJAX 和 Node JS:在我的服务器中接收空数据

AJAX and Node JS : receiving empty data in my server

我正在尝试向我的节点 JS 服务器发出 POST 请求,我尝试使用 Postman 并且它工作正常但是当我使用 AJAX 我得到一个空数据在服务器中,我尝试使用 contentType: "application/json" 但出现此错误 enter image description here 这是 AJAX 代码:

$.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 的工作原理: https://web.dev/cross-origin-resource-sharing/

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

WARNING: Using Access-Control-Allow-Origin: * can make your API/website vulnerable to cross-site request forgery (CSRF) attacks. Make certain you understand the risks before using this code.

从 npm 或 yarn 安装 CORS 包并遵循此代码示例:

Install the CORS package from npm or yarn and follow this code sample:
  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());

希望对您有所帮助:)