通过从服务器端获取数据,在客户端显示字符串



我试图通过从服务器端获取结果来在客户端显示字符串,但由于某种原因,它没有显示获取的数据。当我控制台将变量直接记录在js文件上时,服务器成功地打印了字符串。程序没有将变量导出到客户端以显示它。我不知道哪里出了问题。感谢您的帮助。提前谢谢。

const router = require("express").Router();
const {
callName
} = require("pathJs");
router.route("PathRoute").get(async(req, res) => {
const Result = await callName();
return res.json(Result);
});

module.exports = router;

function name() {
const liner = "this works"
console.log(liner)
//updated
return liner;
}
async function callName() {
const data1 = await name()
return data1;
}
callName()

<p id="insertHere" style="color: white;"></p>

<script>
async function caller() {
await fetch(`http://localhost:5000/api/PATH`)
.then((res) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(res.json())
}, 1000)
})
}).then((response) => {
console.log(response)
document.getElementById("insertHere").innerHTML = response.liner
}
)
}
</script>

const express = require("express");
const cors = require("cors");
const routePath = require("./routePath");
const {
response
} = require("express");
require("dotenv").config({
debug: process.env.DEBUG
});
const port = process.env.PORT || 5000;
const app = express();
app.use(cors());
app.use(express.json());
app.use("/api", routePath);
app.listen(port, () => {
console.log(`server is running on port: http://localhost:${port}`);
});

pathJs中没有导出,您希望name()返回包含liner的对象。你需要

function name() {
const liner = "this works"
console.log(liner)
//updated
return {liner};
}
async function callName() {
const data1 = await name()
return data1;
}
callName()
module.exports = { callName };

后端可能在处理请求时与TypeError: callName is not a function一起崩溃,因此不发送响应。

最新更新