【问题标题】:i don't fully underestand what app.get('/consult')我不完全理解 app.get(\'/consult\')
【发布时间】:2023-01-26 22:27:16
【问题描述】:

所以我是新手,我仍然在为 app.get() 的含义而苦苦挣扎。 在我的 html 页面中,我有带有 id=consult-button 的按钮。 我给了它以下脚本:

document.getElementById("consult-button").addEventListener("click", function() {
   window.location.href = '/consulting';
      });

另一方面,在我的 app.js 文件上我有:

app.get('/consulting', (req, res) => {
  const client = new pg.Client(config);
  client.connect();
  client.query('SELECT * FROM questionaire', (err, result) => {
    if (err) {
      console.log(err);
    }
    res.send(result.rows);
    client.end();
  });
});

有人可以帮助我理解这一点。告诉我我写的是否正确: 单击该按钮时,将创建一个名为“咨询”的网址。然后 app.get 调用该 url 并在该 url 中发送查询结果?

【问题讨论】:

  • app.get 告诉服务器监听对指定 URL 的请求,当收到这样的请求时,该代码会产生服务器的响应。
  • 所以 url 是由“ window.location.href ”创建的,但 app.get 只是获取执行该功能的请求
  • 是的,客户端代码将用户重定向到一个新的 URL,而服务器端代码正在响应该请求。听起来您本质上是在问 Web 服务器是什么以及它是如何工作的,这是相当广泛的。
  • “在我的 html 页面中我有按钮”...这应该是一个关联首先。如果你想要那个链接像一个按钮,然后相应地格式化它。使用 JavaScript 重新创建链接功能确实很糟糕。

标签: javascript node.js express


【解决方案1】:

当用户点击网页上的按钮时,浏览器将向服务器上的端点(/consulting)发送一个HTTP GET请求,

例如,如果您的网站域名是www.example.com,浏览器将请求发送到www.example.com/consulting,

或者如果您的域名是192.168.1.50:3000例如,如果您在本地主机上工作,该网站将向192.168.1.50:3000/咨询.

但是这段代码不仅向服务器发送请求,还将 URL 更改为/consulting, (前任:www.example.com成为www.example.com/consulting).

现在,当请求从网站(网站访问者的计算机)传输到后端服务器(在您的情况下是快递)时,快递将在以下内容中捕获此请求控制器 (它被称为控制器)

app.get 是捕获此请求并处理它的控制器,因为它是

app.get('/consulting') 匹配请求的目的地。

现在这个控制器有一堆代码,它基本上向 Postgres 数据库发送一个请求说“从问卷中选择 *” 这基本上意味着给我问卷表中的所有条目.

数据库对此做出响应,因此服务器(控制器)负责处理来自数据库的响应并将其转发回网站。

希望这可以帮助。

【讨论】:

猜你喜欢
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
相关资源
最近更新 更多