【问题标题】:Load a template page via GET request with data from the previous page?通过 GET 请求使用上一页的数据加载模板页面?
【发布时间】:2019-04-05 17:56:10
【问题描述】:

我想加载一个新的模板页面,其中包含通过上一次调用插入的数据。

我有一个生成的项目列表,它们链接到一般项目页面,但没有 php,一切都会丢失。

我正在考虑使用 href="page.html#itemid" 然后通过查询 url 来查找项目。

这是不是想多了?有更简单的方法吗?

【问题讨论】:

    标签: javascript ajax object templates


    【解决方案1】:

    我假设在当前页面上,您已经使用 AJAX 加载了您需要在新模板页面上显示的所有数据,对吗?

    我可以想出多种方法来做到这一点。这仅取决于您的数据的性质:

    1. 改为使用弹出窗口: 您可以让新模板页面成为一个弹出窗口(而不是一个真实的、单独的页面)。将主页的内容变灰(通过较暗的半透明覆盖),然后让这个新的弹出 div 显示您想要的数据。这通常用于希望您注册其时事通讯等的网站。

    2. 通过 URL 传递数据: 如果你有非常少量的数据并且它不是敏感数据,你可以通过参数传递它。假设 page.html 是您要用来填充数据的新页面模板。然后将当前页面上的链接设为page.html?itemid=123&param2=Hi 或类似的东西。然后,在 page.html 上,确保您有 JS 从 URL 中读取参数并显示数据。

    3. 通过 cookie 传递数据: 否则,您可能只想使用 JS cookie。特别是如果您有中等或大量的数据。将从 AJAX 加载的数据存储到 cookie 中。如果您希望用户同时打开多个 page.html 模板,您可能希望使用一个标识符并将其传递给每个模板,例如 page.html?itemid=1page.html?itemid=2 等。然后拥有那个 page.html 的 JS根据 URL 的参数 id 查找相应的 cookie。

    在处理敏感数据时要小心并使用最佳实践。

    【讨论】:

    • 饼干!谢谢忘了那会更容易
    最近更新 更多