javascript - 在url中的ajax请求之后捕获并更新变量值

标签 javascript php jquery ajax laravel

我非常感谢对此的帮助。我有一个页面,使用 laravel 分页显示商店中的产品。我在页面上有基于品牌、类别和可用产品的过滤器。为了过滤产品,我使用了一个复选框。如果选中复选框,我将使用 ajax get 请求并通过 URL 将状态发送到 Controller 以过滤可用产品。

status = 1 表示可用产品,status = 0 表示所有产品。Url 如下所示:

/Collections/Newest_Items?status=1&page=2

情况是这样的。我想知道是否可以更改 URL 中的变量值并根据页码和新过滤器动态重新生成 URL?这是一种使用 jquery 获取页面 URL 并更改值,然后使用 window.history.pushState("", "", URL); 更改 Url 的方法吗? 这是我的 ajax:

       $(document).on('click', "#only_available", function () {

                if ($('#only_available').is(':checked')) {
                    var status = 1;
                    url = '/Collections/Newest_Items?status='+status;
                } else {
                    var status = 0;
                    url = '/Collections/Newest_Items';
                }

                window.history.pushState("", "", url);

                $.ajax({
                    url: '/Collections/Newest_Items',
                    type: "GET",
                    data: {status: status},
                    cash: false,
                    success:
                        function (response) {
                            $('#products-load').html(response);
                        }

                });
            });
        });

我通过自己编写 URL 来做到这一点。在这种情况下,我必须在每个过滤器应用于页面之后写入 URL。这样我无法获取用户当前所在的页面,它会返回到第一页。但我想在这里实现的是,我想根据用户当前所在的页码动态创建 Url,并应用所有过滤器。

最佳答案

您可以使用window.location.search,它会在您的示例中提供如下内容:status=1&page=2。然后您需要解析这些变量以获得您要查找的页码。

关于javascript - 在url中的ajax请求之后捕获并更新变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48354536/

相关文章:

javascript - 使用 javascript 的 php 中的文本区域计数器和限制器

javascript - 在派生类而不是类本身上添加新方法有什么好处?

php - 用逗号内爆或连接多维数组

php - 选择包含特定值的行

javascript - $ 在创建变量时未定义

javascript - 使用 parent() 按类删除元素

javascript - React Navigation 在导航时转到初始路线

javascript - 使用 JQuery 从另一个元素的 id 为图像分配属性

php - 短文本,PHP

c# - 如何在两个 jQuery 数据表之间传递参数