gpt4 book ai didi

node.js - 我们如何添加url参数? (EJS + Node + Express)

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:55 25 4
gpt4 key购买 nike

我了解了我们如何解析快速路由中的 url 参数,如示例所示

How to get GET (query string) variables in Express.js on Node.js?

但是 url 参数首先来自哪里?

编辑:

显然,我可以使用 jquery 构建这样的查询(即 $.get)。我可以将 params 附加到该查询对象。这很酷,但我仍然试图了解我们如何在呈现整个页面的查询中实现这一点。

示例:当我选择下面的oldest选项卡时,如何将?answertab=oldest添加到网址中,使其变为:

https://stackoverflow.com/questions/30516497/how-do-we-add-url-parameters-ejs-node-express?answertab=oldest#tab-top

最佳答案

您正在查看的字符串是表单值的序列化,或者是其他类似的输入数据方法。要了解这一点,请查看 jQuery's built in .serialize() method

您也可以手动构造该字符串,这也非常简单。格式只是 ?var1=data1&var2=data2 等。如果您有一个 JSON 对象 {"name": "Tim", "age": 22} 那么您可以编写一个非常简单的函数来序列化该对象:

function serializeObject(obj) {
var str = "?";
for(var i = 0; i < Object.keys(obj).length; i++) {
key = Object.keys(obj)[i];
if (i === Object.keys(obj).length - 1)
str += encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
else
str += encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]) + "&";
}
return str;
}

运行 seralizeObject({"name": "Tim", "age": 22}) 将输出 '?name=Tim&age=22'。这可以用来生成链接或其他什么。

关于node.js - 我们如何添加url参数? (EJS + Node + Express),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30516497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com