res.write 无法正常工作。它显示包含 HTML 标签的输出

2023-12-08

我正在使用 API 和 Express 制作一个简单的 Web 应用程序。 但我得到的输出与预期不同。我的输出包含文本,包括HTML tags.

这是我的代码。

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!!!');
});

output: enter image description here


设置标题:res.set("Content-Type", "text/html");

建议:使用模板字符串:(

const express = require("express");
const https = require("https");
const app = express();

const url =
  "https://api.openweathermap.org/data/2.5/weather?q=London,uk&units=metric&appid=0333cb6bfed722ca09f1062ec1ea9ca1";
app.get("/", (req, res) => {
  https.get(url, response => {
    response.on("data", data => {
      const weatherData = JSON.parse(data);
      const temp = weatherData.main.temp;
      const { description, icon } = weatherData.weather[0];
      const imageURL = `http://openweathermap.org/img/wn/${icon}@2x.png`;

      res.set("Content-Type", "text/html");
      //OR
      res.setHeader("Content-Type", "text/html");

      res.send(`
      <h3>The weather is currently ${description}</h3>
      <img src="${imageURL}">
      <h1>The temperature in London is <span>${temp}</span> ° Celsius.</h1>
      `);
    });
  });
  //res.send('server is up!!!');
});

app.listen(3000, () => {
  console.log("Server started!!!");
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

res.write 无法正常工作。它显示包含 HTML 标签的输出 的相关文章

随机推荐

  • 使用 @XmlPath 和 jaxb/MOXy 来映射复杂类型

    我有一个深层 XML 结构 其中有许多无意义的包装器 我将其映射到单个 Java 类 使用 XmlPath 映射简单的数据类型就像在公园散步 但是当涉及到实际需要自己的类的类型时 我不太确定如何做到这一点 特别是当这些类型也应该放入列表中时
  • PHP 的字母等效项 is_numeric

    我正在寻找一个与 is numeric 按字母顺序等效的函数 如果字符串中只有字母 则返回 true 否则返回 false PHP 中是否存在内置函数 你要ctype alpha
  • 我的代码中的未知修饰符[重复]

    这个问题在这里已经有答案了 输出错误 未知修饰符 p 你的字符串包含一团糟 这需要转义为 使用时 作为正则表达式分隔符 代替 作为正则表达式分隔符 使用不会出现在字符串中的内容 例如 例如 你must选择有保证的定界字符not出现在 Src
  • jQuery 停止 fadeTo 效果

    我想要的是一种鼠标轨迹效果 当你将鼠标悬停在 div 上或向下时 但是 如果您将鼠标悬停过快几次然后停止 效果就会自行重复 我该如何解决这个问题 我想我需要某种出队的东西 比如动画选项 但对于 fadeTo 功能 有任何想法吗 test m
  • 根据条件连接data.table中的列名[重复]

    这个问题在这里已经有答案了 这就是我的 data table 的样子 最右边的一列PASTE是我想要的专栏 library data table dt lt fread A B C PASTE TRUE FALSE TRUE A C TRU
  • DigitalMicrograph 脚本对象是否可以收到图像 ROI 变化的通知?

    DigitalMicrograph 脚本文档提到了各种类型的 Listener 对象 这些对象可用于向脚本对象通知各种类型的事件 特别是 ImageDisplay 对象对按键侦听器具有显式支持 以便当击键事件针对特定图像显示时可以通知脚本对
  • LC-3 组装两个数字相减

    我对这个问题有疑问 因为我是 LC 3 编程的新手 编写 LC 3 代码 将 R0 中的值减去 R1 中的值 并将结果放入 R5 中 即编写 R5 R0 R1 的汇编代码 假设R1 10 R0为12 根据你的问题 我们可以假设 12 和 1
  • 301重定向以仅删除主页上的查询字符串

    我不知道 htaccess重定向规则 如果用户输入http example com abc 123 or https example com who 123 or https example com xyz 123那么它应该重定向到http
  • C++ 中的前递增比后递增更快 - 正确吗?如果是,为什么呢? [复制]

    这个问题在这里已经有答案了 我听说 C 中的前增量 i 比后增量 i 快一点 真的吗 这又是什么原因呢 后增量通常涉及保留前一个值的副本并添加一些额外的代码 预增量只是完成它的工作并摆脱困境 我通常会预增量 除非语义会改变并且后增量实际上是
  • 现代 Fortran:从后代调用祖先过程

    我开始使用 Modern Fortran 的 OO 功能 并且已经熟悉其他语言的 OO 功能 在 Delphi Object Pascal 中 通常在其重写的后代过程中调用过程的祖先版本 甚至有一个语言语句 继承 允许这样做 我找不到等效的
  • 为什么 if [ !$(grep -q) ] 不起作用而 if grep -q 起作用?

    我无法让 grep 在 if 语句中正常工作 在下面的代码段中 if check 始终为 true 即未找到该单词 并且程序会打印 NOT FOUND 即使该单词已经在 memory 中 for i 0 i lt aspellwords i
  • IIS 6.0 服务器太忙 HTTP 503 Connection_Dropped DefaultAppPool

    我们有一个站点 运行在带有 2 台 64 位计算机的 Windows 2003 集群上 该网站需要能够应对超过 20 000 个并发用户 该站点所做的事情之一是允许下载 2MB 文件 缓存在内存中 我们的 CPU 和内存使用率较低 我们还有
  • C++ Boost 1.66 使用 Beast http 请求解析器解析字符串

    我没有在我的项目中使用beast http服务器 但我正在寻找一种解决方案来解析程序中std string形式的http请求 是否可以在此使用boost beast http parser hpp如果是的话 如果您在代码中给出一个示例 那就
  • 初始化后无法更新 OxyPlot 图表

    我在 XAML 中定义了一个 OxyPlot 图表 如下所示
  • Rails 4 + gmaps4rails 2.0.3 中未定义 Gmaps

    Rails 4 0 0 中未定义 Gmaps4rails 谷歌铁路地图 我正在关注这个教程 http rubydoc info gems gmaps4rails 2 0 4 frames 1 Gemfile gem gmaps4rails
  • 如何在 Angular 2 模板打字稿中显示 json 对象参数

    我正在尝试在 template 中显示 Object 在控制台中用户 email正在工作 但在模板中它不起作用 是否必须定义 Users 对象的类型 如何正确处理响应 在控制台中 数据显示为用户对象 我从中获取第一个对象作为数据 0 imp
  • 为什么它与 ~~any() 的作用不同?

    首先让我向您展示我的表格 INSERT INTO my table name brand source VALUES Abc Abc Orig Auchan Auchan Orig Auchan Auchan Added dj auchan
  • 动态更新 gtk.VBox

    我经常使用这个网站来解决我在 Python 编程时遇到的小问题 这次 不知怎的 我找不到适合我情况的解决方案 所以 这是我的问题 我想动态添加条目到 gtk VBox 小部件 问题是它没有按照我想要的方式工作 我只有一个按钮 其操作是将附加
  • 如何在 Xamarin Forms 编辑器中设置占位符和占位符颜色

    如何设置占位符文本 and 占位符颜色 in Editor in Xamarin 表单 它没有默认的功能或属性 如何自定义它 参考文档 Xamarin 表单编辑器 为此 您将需要一个自定义渲染器 这是 Android 自定义渲染器 您将需要
  • res.write 无法正常工作。它显示包含 HTML 标签的输出

    我正在使用 API 和 Express 制作一个简单的 Web 应用程序 但我得到的输出与预期不同 我的输出包含文本 包括HTML tags 这是我的代码 const express require express const https