我正在关注这个视频:https://youtu.be/5TxF9PQaq4U?t=600当他向localhost:8383/info发出GET请求时,JSON {info:“Text”}显示在network-tab内,但浏览器仍显示HTML页面。当我向localhost:8383/info发出GET请求时,浏览器显示JSON,但不显示HTML。我如何才能获得与他相同的结果?
Index.html(在“公共”文件夹内)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="">
<input id="input" type="text">
<button id="get">Get</button>
</form>
</body>
<script>
const input = document.getElementById("input")
const getbtn = document.getElementById("get")
getbtn.addEventListener("click", getInfo);
async function getInfo(e) {
e.preventDefault()
const res = await fetch("http://localhost:8383/info", {method: "GET"})
console.log(res)
}
</script>
</html>
Server.js
const express = require("express")
const app = express()
const port = 8383
app.use(express.static("public"))
app.get("/info", (req, res) => {
res.status(200).json({info: "Text"})
})
app.listen(port, ( ) => console.log("Server started"))
This is what the browser displays on localhost:8383/info
我尝试向localhost:8383发出GET请求(没有信息),但响应是HTML文件,而不是{info:“文本”}。
1条答案
按热度按时间dgtucam11#
你错过了两个地方
1需要在
server.js
中添加CORS2需要在
index.html
中添加DOM元素并在脚本中更新它。这是完整的代码。
一个二个一个一个
结果-在VS代码和
node server.js
中运行GO Live
扩展