jquery怎么两个网页传值

在Web开发中,我们经常需要在不同的网页之间传递数据,jQuery是一个强大的JavaScript库,可以帮助我们轻松地实现这一目标,本文将详细介绍如何使用jQuery在不同网页之间传递值。

jquery怎么两个网页传值
(图片来源网络,侵删)

1、使用URL参数传递值

最简单的方法是通过URL参数传递值,当用户从一个页面跳转到另一个页面时,可以将需要传递的值附加到URL中,在接收页面中,可以从URL中提取这些值并进行处理。

假设我们有一个名为index.html的页面,其中包含一个链接,该链接将用户带到名为receive.html的页面,并将idname作为参数传递:

<!index.html >
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>Index</title>
    <script src="https://code.jquery.com/jquery3.6.0.min.js"></script>
</head>
<body>
    <a href="receive.html?id=1&name=张三">跳转到receive.html</a>
</body>
</html>

receive.html页面中,我们可以使用以下代码从URL中提取参数并显示它们:

<!receive.html >
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>Receive</title>
    <script src="https://code.jquery.com/jquery3.6.0.min.js"></script>
</head>
<body>
    <h1>接收到的参数:</h1>
    <p>ID: <span id="receivedId"></span></p>
    <p>姓名: <span id="receivedName"></span></p>
    <script>
        $(document).ready(function() {
            var params = new URLSearchParams(window.location.search);
            $("#receivedId").text(params.get("id"));
            $("#receivedName").text(params.get("name"));
        });
    </script>
</body>
</html>

2、使用cookies传递值

另一种方法是使用cookies,cookies是存储在用户浏览器中的小型文本文件,可以用于存储和检索数据,我们可以使用jQuery的$.cookie()方法来设置、获取和删除cookies。

我们可以在index.html页面中设置一个名为userInfo的cookie,其中包含idname

// index.html
$(document).ready(function() {
    $("a").click(function(e) {
        e.preventDefault();
        $.cookie("userInfo", "id=1;name=张三");
        window.location.href = "receive.html";
    });
});

receive.html页面中,我们可以使用以下代码从cookies中提取userInfo并将其解析为idname

// receive.html
$(document).ready(function() {
    var userInfo = $.cookie("userInfo");
    if (userInfo) {
        var infoArray = userInfo.split(";");
        var id = infoArray[0].split("=")[1];
        var name = infoArray[1].split("=")[1];
        $("#receivedId").text(id);
        $("#receivedName").text(name);
    } else {
        $("#receivedId").text("未设置");
        $("#receivedName").text("未设置");
    }
});

3、使用localStorage和sessionStorage传递值

除了cookies之外,我们还可以使用HTML5的localStorage和sessionStorage对象来存储数据,这两个对象允许我们在用户的浏览器中存储键值对数据,即使浏览器关闭或刷新也不会丢失,我们可以使用jQuery的$.localStorage()$.sessionStorage()方法来操作这些对象。

我们可以在index.html页面中将userInfo存储到localStorage中:

// index.html
$(document).ready(function() {
    $("a").click(function(e) {
        e.preventDefault();
        $.localStorage("userInfo", "id=1;name=张三");
        window.location.href = "receive.html";
    });
});

receive.html页面中,我们可以使用以下代码从localStorage中提取userInfo并将其解析为idname

// receive.html
$(document).ready(function() {
    var userInfo = $.localStorage("userInfo");
    if (userInfo) {
        var infoArray = userInfo.split(";");
        var id = infoArray[0].split("=")[1];
        var name = infoArray[1].split("=")[1];
        $("#receivedId").text(id);
        $("#receivedName").text(name);
    } else {
        $("#receivedId").text("未设置");
        $("#receivedName").text("未设置");
    }
});

4、使用AJAX传递值(后端)

我们还可以通过AJAX与服务器进行通信,将数据发送到服务器并在需要时从服务器获取数据,这需要在服务器端编写代码来处理请求和响应,这里以PHP为例:

index.html页面中,我们可以使用以下代码将数据发送到服务器:

// index.html 发送数据到服务器(前端)
$(document).ready(function() {
    $("a").click(function(e) {
        e.preventDefault();
        $.ajax({url: "sendDataToServer.php", type: "POST", data: {id: 1, name: "张三"}}); // 发送数据到服务器(前端) AJAX请求示例(POST) jQuery(dataType: "json") jQuery(contentType: "application/json") jQuery(processData: false) PHP($_POST["id"]) PHP($_POST["name"]) PHP(echo json_encode($data);) PHP(header('ContentType: application/json');) PHP(header('AccessControlAllowOrigin: *');) PHP(header('AccessControlAllowMethods: GET, POST, PUT, DELETE');) PHP(header('AccessControlAllowHeaders: ContentType, AccessControlAllowHeaders, Authorization, XRequestedWith');) PHP(header('AccessControlAllowCredentials: true');) PHP(header('AccessControlMaxAge: 86400');) PHP(header('ContentLength: ' . strlen($data));) PHP(flush();) PHP(ob_end_flush();) PHP(readfile('sendDataToServerResponse.json');) PHP(exit;) PHP(die;) PHP(die();) PHP(print_r($data);) PHP(echo $data;) PHP(return $data;) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(return json_encode($data);) PHP(

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/364171.html

(0)
酷盾叔订阅
上一篇 2024-03-22 02:13
下一篇 2024-03-22 02:14

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入