gpt4 book ai didi

javascript - 将参数从 Node.JS 传递到 HTML 文件

转载 作者:行者123 更新时间:2023-12-02 23:38:55 24 4
gpt4 key购买 nike

我正在 Node 中解析来自 API 的数组,然后将其处理到我的 HTML 文件中,以便我可以在 map 上绘制从 API 收到的一些点。我想将数组作为参数传递,以便 HTML 接收它。我在这里查看了所有其他可能的答案,但没有一个有效。

index.js

const express = require('express')
const util = require('util')
var request = require("request")

var path = require('path')

const app = express()

app.get('/_bicis', (req, res) => {

var url = "https://nextbike.net/maps/nextbike-official.json?city=532"

request({
url: url,
json: true
}, function (error, response, body) {

if (!error && response.statusCode === 200) {
data = body['countries'][0]['cities'][0]['places']

res.sendFile(path.join(__dirname + '/index.html'), {data: data});
}
})
})


module.exports = app

index.html 文件

<html><head>
</head>
<body>
<script>

// When printing this line it raises an error
console.log("RECEIVED FROM HTML" + data)
</script>
</body></html>

我没有使用任何模板来生成 HTML 文件,应该吗?用我的代码可以完成吗?

最佳答案

这不起作用,因为 data 只能在 Node.js 环境中使用,而不能在浏览器中使用。在本例中,express 仅用于提供静态 HTML 文件 index.html。在您的浏览器环境中,数据不再可用。

有两种方法将数据传递到浏览器:

  1. 使用模板在服务器端生成 HTML 代码。
  2. 将 API 请求移至不同的路径,例如 app.get('/_bicis/api', ...) 并使用前端框架创建 AJAX调用新路线。这将从您的浏览器请求数据,您可以使用前端 JavaScript 来构建 HTML。

关于javascript - 将参数从 Node.JS 传递到 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56167628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com