javascript - 谁能告诉我这个简单的代码有什么问题?
问题描述
(服务器端)
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(未找到)”谁能帮忙??
解决方案
错误404
意味着 URL 错误。
您'/addMovie'
作为 URL 传递,并将其用于获取。
您可能需要更新此内容:
const response = await fetch(url, {
对此
const response = await fetch('http://localhost:8000' + url, {
通过添加'http://localhost:8000'
作为您的网址的前缀。
推荐阅读
- reactjs - React Virtualized Table - 约 8 列表中的输入元素的性能问题
- unicode - Lua 打印 ASCII 表
- java - Jackson HashMap,写入字符串时忽略地图名称
- jquery - 在 MVC 中使用 Razor 传回多个选定的复选框选项
- python - 在 Django ORM 中插入数据时跳过值以避免重复错误
- asp.net-core - 如何在每个控制器方法中强制执行授权检查?
- node.js - Nodejs - 无状态区分独特的设备
- android - Android DeviceCare 在自定义应用程序中禁用 GPS
- java - 如何更改文件夹以在项目中创建文件?
- java - xml 生成性能问题