Res.Write в Express отображает элемент HTML внутри него - PullRequest
0 голосов
/ 29 июня 2019

Я не являюсь разработчиком веб-приложения, и я начал использовать экспресс, и у меня есть этот код

app.post("/", function(req, res) {

  var crypto = req.body.crypto;
  var fiat = req.body.fiat;
  var amount = req.body.amount;

  var options = {
    url: "https://apiv2.bitcoinaverage.com/convert/global",
    method: "GET",
    qs: {
      from: crypto,
      to: fiat,
      amount: amount
    }
  };
  request(options, function(error, response, body) {
    var data = JSON.parse(body);
    var time = data.time;
    var price = data.price;
    res.write("Current time is: " + time);
    res.write("<p> Your " + amount + " " + crypto + " is worth " + price + 
    " " + fiat + "</p>");
    res.send();
  });
});

Но когда я запускаю свой сервер и запускаю запрос POST, то, что отображается на странице, выглядит так:

Текущее время: 2019-06-29 18:50:35 <p> Ваш 2 BTC стоит 23954,24 USD </p>

Из того, что я знаю res.write () isnне должен отображать HTML, а не отображать элементы HTML как текст.

Я что-то здесь не так делаю ??Как это исправить, чтобы теги HTML не отображались на странице в виде текста?

Заранее спасибо:)

1 Ответ

0 голосов
/ 29 июня 2019

Попробуйте ввести любой из следующих кодов перед этой строкой:

res.write ("Текущее время:" + время);

  • res.writeHead(200, {'Content-Type': 'text/html'})
  • res.header('Content-Type', 'text/html')
  • res.type('text/html')

После этого попробуйте очистить кеш, если это не поможет.

На самом деле это просто vanilla nodejs. Подробнее здесь: https://nodejs.org/api/http.html#http_response_writehead_statuscode_statusmessage_headers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...