(服務器端)
const express = require('express');
//instance of an app
const app = express();
//middleware
const bodyParser = require('body-parser');
app.use(express.urlencoded({extended: false}));
app.use(express.json());
//core package to let the server and client side talk without any security boundaries
const cors = require('cors');
app.use(cors());
app.use(express.static('node'));
//setting up server
const port = 8000;
const server = app.listen(port, listenning);
function listenning(){
console.log(`running on local server: ${port}`);
};
//GET route
const data = [];
app.post('/addMovie', addMovie)
function addMovie(req, res){
data.push(req.body);
console.log(data);
};
(客戶端)
const postData = async(URL='', data= {})=>{
console.log(data);
const response = await fetch(url, {
method: 'post',
credentials: 'same-origin',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(data),
});
try{
const newData = await response.json();
console.log(newData);
return newData
}catch(error){
console.log("error", error);
}
}
postData('/addMovie', {movie: 'Dark Knight', score: 5});
我正在通過 node.js 和 express 發出一個簡單的 POST 請求,但找不到問題所在,這是代碼,當我加載頁面時,它說“無法獲取”并給出錯誤“404(未找到)”有人可以幫忙嗎??
uj5u.com熱心網友回復:
錯誤404表示 URL 錯誤。
您'/addMovie'作為 URL傳遞,并將其用于獲取。
你可能想更新這個:
const response = await fetch(url, {
對此
const response = await fetch('http://localhost:8000' url, {
通過添加'http://localhost:8000'為您的網址的前綴。
uj5u.com熱心網友回復:
@Balastrong 的答案是最正確的(您需要http://localhost:8000用作基本 URI),但您還需要更新postData函式的引數名稱。現在URL是大寫的,但是您以后對變數的使用都是小寫的。
所以用 const postData = async(url='',
uj5u.com熱心網友回復:
在您的情況下,您應該POST到端點:
http://localhost:8000/addMovie
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/333157.html
