html如何获取另一个页面生成的数据

来源:我的博客作者:广州SEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《html如何获取另一个页面生成的数据》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《html如何获取另一个页面生成的数据》有用,将其分享出去将是对创作者最好的鼓励。

在HTML页面开发中,跨页面获取另一个页面生成的数据是很常见的需求,比如表单页提交数据后结果页需要展示提交内容,或者多个关联页面需要共享用户操作产生的信息。下面介绍几种常用的实现方式。

html如何获取另一个页面生成的数据

一、使用localStorage实现同域页面数据传递

localStorage是浏览器提供的本地存储机制,存储的数据在同域下的所有页面都可以访问,适合同域下多个页面共享数据的场景。另一个页面生成数据后存入localStorage,当前页面再从localStorage中读取即可。

另一个页面(数据生成页)的存储代码示例:

// 数据生成页:生成用户提交的用户名数据并存储
const userName = "张三";
// 将数据存入localStorage,键名为user_info
localStorage.setItem("user_info", JSON.stringify({ name: userName, age: 20 }));

当前页面(数据获取页)的读取代码示例:

// 数据获取页:从localStorage读取另一个页面存储的数据
const storedData = localStorage.getItem("user_info");
if (storedData) {
    const userInfo = JSON.parse(storedData);
    console.log("获取到的用户名称:", userInfo.name);
    // 将数据显示到页面中
    document.getElementById("show-name").innerText = userInfo.name;
} else {
    console.log("未找到对应的存储数据");
}

这种方式的优点是存储持久,页面刷新后数据不会丢失,缺点是仅支持同域页面,且存储大小有限制,一般不超过5MB。

二、通过URL参数传递数据

如果另一个页面生成的数据量较小,也可以将数据拼接在URL的参数中,当前页面通过解析URL参数获取对应数据,适合临时传递少量数据的场景。

另一个页面生成数据后跳转并携带参数的示例:

// 数据生成页:生成订单号后跳转到结果页,携带订单号参数
const orderId = "202405001";
// 跳转到结果页,将订单号作为query参数拼接在URL后
window.location.href = `result.html?order_id=${encodeURIComponent(orderId)}`;

当前页面解析URL参数获取数据的示例:

// 数据获取页:解析URL中的参数获取订单号
function getUrlParam(paramName) {
    const urlParams = new URLSearchParams(window.location.search);
    return urlParams.get(paramName);
}
const targetOrderId = getUrlParam("order_id");
if (targetOrderId) {
    console.log("获取到的订单号:", targetOrderId);
    document.getElementById("order-id").innerText = targetOrderId;
}

这种方式不需要额外的存储机制,实现简单,但是参数会暴露在URL中,不适合传递敏感数据,且数据长度受URL长度限制。

三、使用fetch API获取另一个页面的接口数据

如果另一个页面生成的数据是通过后端接口返回,或者另一个页面本身提供了可访问的数据接口,当前页面可以使用fetch API发起请求获取数据,支持同域和跨域(需要服务端配置跨域允许)。

假设另一个页面所在的服务端提供了/api/get_page_data接口,返回JSON格式的数据,当前页面的获取示例如下:

// 当前页面:使用fetch请求获取另一个页面的接口数据
fetch("http://ipipp.com/api/get_page_data")
    .then(response => {
        // 判断响应状态是否正常
        if (!response.ok) {
            throw new Error("请求失败,状态码:" + response.status);
        }
        return response.json();
    })
    .then(data => {
        console.log("获取到的接口数据:", data);
        // 处理返回的数据,比如渲染到页面
        document.getElementById("data-content").innerText = data.content;
    })
    .catch(error => {
        console.error("获取数据出错:", error);
    });

如果是跨域请求,需要服务端设置对应的CORS响应头,比如Access-Control-Allow-Origin允许当前页面的域名访问,否则请求会被浏览器拦截。

四、不同方式的适用场景总结

可以根据实际需求选择合适的方式,以下是几种方式的对比:

实现方式适用场景优点缺点
localStorage同域下多个页面共享数据,数据需要持久保存存储持久,读取方便仅支持同域,有存储大小限制
URL参数临时传递少量非敏感数据实现简单,无需额外存储数据暴露在URL中,长度受限
fetch请求获取另一个页面的接口数据,支持跨域灵活,支持跨域,可获取动态数据需要接口支持,跨域需要服务端配置

实际开发中可以根据数据的敏感程度、数据量大小、页面是否同域等条件选择最合适的实现方案,确保数据传递的稳定性和安全性。

HTMLJavaScriptfetch_API跨页面数据传递localStorage修改时间:2026-07-09 13:57:27

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。