首页 > 解决方案 > 如何在 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 文件等等。

标签: javascriptjsonredirect

解决方案


你可以配置你的网络服务器来提供一个 html 文件,比如redirect.html. /go/*这会在处理所有路径时保留路径名

然后,您可以根据路径名重定向用户。

redirect.html 中的脚本:

const data = //load data;
const redir = location.pathname.replace("/go/","");
location.href = data[redir];

推荐阅读