javascript - 如何在 HTML/JavaScript 中轻松处理 JSON 重定向?
问题描述
我的网络服务器上有一个名为/go/
. 实际上,这将用作https://example.com/go/x
存储x
在 JSON 文件中的变量的位置。JSON文件可以这样设置;
{
"stackoverflow": "https://stackoverflow.com/",
"apple": "https://apple.com/",
...
}
我想以某种方式检查这些变量中的任何一个是否检查/go/x
并将它们重定向到它们的等价物。在实践中,它会像这样使用https://example.com/go/stackoverflow
,它会将我重定向到这个站点。
我不想在该目录中添加多个 HTML 文件并从那里重定向,因为我想从外部管理 JSON 响应。但这无关紧要。
我目前还没有解决方案,但正在考虑一个 JavaScript 脚本来检查 JSON 是否匹配。但是,我不知道该脚本将如何运行,因为它永远不会被任何东西击中或调用。我已经有了可以调用的脚本,但不知道在/go/x
紧急时如何调用它:
import "Paths.json" as Paths;
if (window.location.pathname == "/go/") {
const Location = JSON.parse(Paths)[window.location.href];
window.location.replace(Location);
}
结论:我想将用户重定向到不同的页面,具体x
取决于/go/x
. 重定向存储在 JSON 中。每次/go/
被命中时,我想运行一个 JavaScript 脚本来检查该变量并将用户重定向到另一个页面,而不为每个重定向添加不同的 HTML 文件等等。
解决方案
你可以配置你的网络服务器来提供一个 html 文件,比如redirect.html
. /go/*
这会在处理所有路径时保留路径名
然后,您可以根据路径名重定向用户。
redirect.html 中的脚本:
const data = //load data;
const redir = location.pathname.replace("/go/","");
location.href = data[redir];
推荐阅读
- c++ - 如何使用 C++ 在 Qt 中创建垂直(旋转)按钮
- python - 在fabric2中创建别名
- android - 没有开始的意图和上下文崩溃的应用程序
- konvajs - 如何在图层中添加上传图片
- python - 使用 Beautifulsoup 错误解析嵌套在 Div 类中的数据
- c++ - C++ Thor 库 - 使用资源加载器类的问题(''没有命名类型)
- python - 检查是否是素数然后打印因子
- r - 在 R 中运行代码时出现错误,提示缺少需要 true/false 的值,我无法修复它
- android - 无法在包含 StatefulWidget 的颤振文件中添加 mongodart
- python - python - 如何将父级附加到python中的消息框showinfo?