2 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
抱歉耽擱了...我試圖在代碼沙箱上托管它...
你可以像這樣制作你的節(jié)點(diǎn)端
const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
const path = require("path");
const app = express();
const router = express.Router();
const PORT = process.env.PORT || 5000;
app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
router.get("/", function(req, res) {
res.sendFile(path.join(__dirname + "/index.html"));
});
router.post("/signup", (req, res) => {
console.log(req.body);
});
app.use(router);
app.listen(PORT, () => {
console.log(`Server started at PORT:${PORT}`);
});
并創(chuàng)建一個(gè) HTML 文件,您將在其中使用 fetch API 使用 API
像這樣的東西
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<form action="/signup" method="post">
<input
required
type="email"
name="email"
id="emailForm"
placeholder="Your Email"
/>
<input
type="password"
name="password"
id="passwordForm"
placeholder="Password"
/>
<input type="submit" name="" id="submit" value="Signup!" />
</form>
<script>
const emailForm = document.querySelector('#emailForm');
const passwordForm = document.querySelector('#passwordForm');
const submit = document.querySelector('#submit');
const submitFetch = (url, data) => {
fetch(url, {
method: 'POST',
mode: 'cors',
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json'
},
redirect: 'follow',
referrer: 'no-referrer',
body: JSON.stringify(data)
}).then(response => response.json());
};
submit.addEventListener('click', e => {
e.preventDefault();
const data = {
email: emailForm.value,
password: emailForm.value
};
submitFetch('http://localhost:5000/signup', data);
});
</script>
</body>
</html>
如果您想現(xiàn)場(chǎng)觀看...我將其托管在代碼沙箱上
https://codesandbox.io/s/lucid-cannon-x1wu1

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
您似乎沒(méi)有向客戶(hù)返回任何響應(yīng)。您可以糾正的一種方法是使用 express 提供的 res 對(duì)象中的 send 函數(shù)。
app.post('/signup', function(req, res, next) {
console.log(req.body);
res.send('Hello World') // this can also take an object as response. res.send({ msg: 'hello world' })
});
重新調(diào)整這條線也可能會(huì)有所幫助 ok comment out this line app.use(function(req, res, next) { next(createError(404)); });
希望這可以幫助。
添加回答
舉報(bào)