我有一个带有一些GET参数的URL,如下所示:
www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5
Run Code Online (Sandbox Code Playgroud)
我需要获得全部价值c.我试图读取URL,但我只是m2.我如何使用JavaScript执行此操作?
我正在使用jQuery刷新我的页面:
location.reload();
Run Code Online (Sandbox Code Playgroud)
这很好用但我想通过将参数传递给URL来刷新同一页面.
我怎么能通过使用jQuery来做到这一点?
例如:
如果我的网址是www.myweb.com,我想通过传递这样的参数来刷新它
www.myweb.com?single
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试从Angular 5 SPA中的对象创建URL。我的代码如下所示:
import { UrlTree, UrlSegmentGroup, DefaultUrlSerializer, UrlSegment } from "@angular/router";
const urlTree = new UrlTree();
urlTree.root = new UrlSegmentGroup([new UrlSegment("EndPoint", {})], {});
urlTree.queryParams = {
"param1": param1Value,
"param2": param2Value
};
const urlSerializer = new DefaultUrlSerializer();
const url = urlSerializer.serialize(urlTree);
Run Code Online (Sandbox Code Playgroud)
它确实可以完成这项工作,但对于这样一项琐碎的工作,它似乎包括了可观的开销,我想知道是否存在一种更直接的方法来从对象获取url。
我的期望是简单一些:
const url = someSerializer.serialize("/segment1/segment2", {
"param1": param1Value,
"param2": param2Value
})
Run Code Online (Sandbox Code Playgroud)
问题:如何从Angular 5+中的对象创建带有查询参数的URL字符串?
我需要为此页面的路由设置重定向规则,这些路由具有不需要的查询参数。所以这就是默认不需要的查询参数的样子。
https://some-test-url.com/b/laptops/1117?clubId=6612&offset=0&rootDimension=pcs_availability%253AOnlinepipsymbBrand%253ADell&searchCategoryId=1117&selectedFilter=all&sortKey=relevance&sortOrder=1
它应该重定向到清理过的 URL。它应该在这些条件下从 URL 中清除这些默认值。对于limit它应该删除 48 和 20。我假设应该保留下面未列出的任何其他查询参数,因为它们不是默认值。
searchCategoryId=all
selectedFilter=all
sortKey=relevance&sortOrder=1
limit=48 on desktop or limit=20 on mweb
clubId ever
offset=0
Run Code Online (Sandbox Code Playgroud)
所以从上面清理过的 URL 应该是这样的
https://some-test-url.com/b/laptops/1117?rootDimension=pcs_availability%253AOnlinepipsymbBrand%253ADell
但例如,如果它不是默认的查询参数
www.test.com/blah?offset=40&selectedFilter=online&clubId=3422
它应该返回
www.test.com/blah?offset=40&selectedFilter=online
处理这个问题的最佳方法是什么?我尝试用正则表达式来做,但我无法得到预期的结果,因为它有点复杂。谢谢您的帮助!