我正在使用API和Express制作一个简单的Web应用程序。但我得到的输出与预期的不同。我的输出包含包含HTML标签的文本。
这是我的代码
const express = require('express');
const https = require('https');
const app = express();
app.get('/', function(req, res) {
const url =
'https://api.openweathermap.org/data/2.5/weather?q=London,uk&units=metric&appid=0333cb6bfed722ca09f1062ec1ea9ca1';
https.get(url, function(response) {
console.log(response.statusCode + ' OK');
response.on('data', function(data) {
const weatherData = JSON.parse(data);
const temp = weatherData.main.temp;
const desc = weatherData.weather[0].description;
const icon = weatherData.weather[0].icon;
const imageURL = 'http://openweathermap.org/img/wn/' + icon + '@2x.png';
res.write('<h3>The weather is currently ' + desc + '</h3>');
//res.write('<img src=' + imageURL + '>');
res.write(
'<h1>The temperature in London is ' +
'<span>' +
temp +
'</span> ° Celsius.</h1>'
);
res.send();
});
});
//res.send('server is up!!!');
});
app.listen(3000, function() {
console.log('Server started!!!');
});
输出:
3条答案
按热度按时间5rgfhyps1#
设置标题:
res.set("Content-Type", "text/html");
**建议:**使用模板字符串:(
mrphzbgm2#
2g32fytz3#
只需将res.set或res.setHeader与内容类型放在res.write之前,就会给予解决方案。