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

标签 javascript php jquery

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

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();
  });
});

除了一件事之外,这一切运行良好 - 我需要将新过滤器搜索的“skip”参数重置为 0,因为先前搜索的分页值无效或不适用。有什么办法可以改变:

skip=20

至:

skip=0

作为此脚本的一部分?

最佳答案

您可以对 URL 进行 RegExp 替换:

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

(未经测试)

请注意,您应该对 ProductType 执行相同的操作,否则您将一次又一次地添加它。

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

关于javascript - 通过选择菜单更改 - 更新参数修改 HTTP GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154756/

相关文章:

php - 尝试在随机时间播放随机歌曲(学习音乐决赛:)

javascript - 如何解析 JSON 以在 JavaScript 中接收 Date 对象?

php - 如何从 PHP 脚本运行 PHPUnit?

php - jQuery - 如何通过不同的步骤获得响应?

php - 检测换行符

java - 在服务器端运行 javascript

javascript - jQuery循环.each()JSON键/值不起作用

javascript - 未定义 : TypeError xhr. abort 不是函数:Backbone

javascript - 语义 ui 形式

javascript - JSTree Font Awesome 复选框