Передача параметров из Node.JS в файл HTML - PullRequest
0 голосов
/ 16 мая 2019

Я анализирую массив из API в Node и затем обрабатываю его в своем 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 file

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

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

Я не используюлюбой шаблон для создания моего HTML-файла, я должен?Можно ли это сделать с помощью кода, который у меня есть?

1 Ответ

1 голос
/ 16 мая 2019

Это не будет работать, потому что data доступно только в вашей среде Node.js, а не в вашем браузере. В этом случае express используется только для обслуживания статического HTML-файла index.html. В вашем браузере данные больше недоступны.

Существует два способа передачи данных в ваш браузер:

  1. Используйте шаблон для генерации вашего HTML-кода на стороне сервера.
  2. Переместите запрос API на другой маршрут, например app.get('/_bicis/api', ...), и используйте интерфейсную среду для выполнения вызова AJAX на новый маршрут. Это запросит данные из вашего браузера, и вы сможете использовать внешний JavaScript для создания вашего HTML.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...