簡體   English   中英

將參數從Node.JS傳遞到HTML文件

[英]Passing parameters from Node.JS to HTML file

我正在從Node中的API解析數組,然后將其處理到HTML文件,以便可以在地圖上繪制從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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM