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());
希望对您有所帮助:)
我正在尝试向我的节点 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());
希望对您有所帮助:)