gpt4 book ai didi

javascript - 如何使用多个哈希?

转载 作者:行者123 更新时间:2023-11-29 18:31:16 25 4
gpt4 key购买 nike

目前我在 Ben 的 Alman 中使用散列中的页码 jquery-hashchange plugin :

$(document).ready(function(){
$(window).hashchange( function(){
var hash = (location.hash) ? location.hash.slice(1) : 'page1';
$.ajax({
url: '/list/' + hash, // result url like page1, page2 etc.

现在我需要再添加一个值 - filter。我认为结果哈希 URL 看起来像

#page1&filter=1-1-0 
#filter=1-1-0 (if page number is omitted)
#page1 (if filter is not defined)

如何解析它? 即如何理解 page 是否已定义,filter 是否已定义(以及值是什么 - 110 - 我分别需要它们)?

我在想 Ben 的 Alman BBQ plugin ,但是 (1) 对于这样一个简单的任务来说它看起来太复杂了,(2) 不确定如何使用没有值的参数(page1、page2 等)。

最佳答案

两个硬编码变量的非常简单且不可扩展的解析器:

var hash_parts = location.hash.split('&', 2); //2 - limit, may be changed if more than two arguments

for(i in hash_parts) {
if(hash_parts[i].indexOf("page") === 0) { //begins with "page"
var current_page_number = hash_parts[i].substr(4);
}
else if(hash_parts[i].indexOf("filter") === 0) { //begins with "filter"
var filter = hash_parts[i].split('=', 2);
var filer_values = filter[1].split('-'); //filter_values == {'1', '1', '0'}
}
}

您可以轻松地使其通用。

请也看看这里:Parse query string in JavaScript - 只需将 window.location.search.substring(1) 更改为哈希即可。

关于javascript - 如何使用多个哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com