通过选择菜单更改修改HTTP GET请求 - 更新参数

时间:2017-07-17 22:41:59

标签: javascript php jquery

我在PHP网站上有一个搜索结果页面,它使用分页返回结果列表。 URL如下所示:

findProducts.php?action=searchAssets&orderNumber=xxxx&productName=zzz&skip=20

我有一个选择菜单,允许用户修改/过滤搜索结果,触发如下脚本:



$(document).ready(function() {
  $('#productType').change(function() {
    window.location.href = window.location.href + '&productType=' + $(this).val();
  });
});




除了一件事之外,这项工作很有效 - 我需要重置“跳过”#39;新过滤器搜索的参数为0,因为上一次搜索的分页值无效或适用。有没有办法可以改变:

skip=20

为:

skip=0

作为此脚本的一部分?

2 个答案:

答案 0 :(得分:1)

您可以在网址上执行RegExp替换:

window.location.href = window.location.href.replace(/((?:\?|&)skip)=\d+/, '$1=0') + '...';

(未测试的)

请注意,您应该对productType执行相同的操作,否则您将反复添加它。

更好的解决方案可能是拥有一个基本URL,然后添加所有必要的参数,而不是进行搜索和替换......

答案 1 :(得分:1)

您可以使用email.Display(False) ; email.Send()

分割网址,从网址获取查询

这将为您提供第一个索引中的基本URL和第二个索引中的查询。

然后,您可以使用?分割查询来获取查询参数。

如果是&参数,您可以循环检查所有参数。如果参数是skip参数,则将新值推送到输出数组。否则将未更改的参数推送到输出数组。

然后,您可以使用skip使用join加入所有输出元素,以重新构建查询并使用新的查询字符串返回原始基本网址。



&