从 Javascript 的路径中删除查询字符串的简单方法是什么?我见过一个使用 window.location.search 的 Jquery 插件。我不能这样做:在我的例子中,URL 是一个从 AJAX 设置的变量。
var testURL = '/Products/List?SortDirection=dsc&Sort=price&Page=3&Page2=3&SortOrder=dsc'
一个简单的方法是:
function getPathFromUrl(url) { return url.split("?")[0]; }
对于那些还希望 在不存在查询字符串时* 删除散列 (不是原始问题的一部分)的人,这需要更多: *
function stripQueryStringAndHashFromPath(url) { return url.split("?")[0].split("#")[0]; }
编辑
@caub(最初是@crl)建议了一个更简单的组合,适用于查询字符串和哈希(尽管它使用 RegExp,以防万一有人对此有疑问):
function getPathFromUrl(url) { return url.split(/[?#]/)[0]; }