javascript - 如何使用 javascript 将数据存储为 url 参数?

标签 javascript url parameters query-string

我有一个标签式导航菜单,并且为每个标签创建了散列 URL。在一个选项卡中,我有多个信息卡,每张卡的右上角都有一个复选框。选中此复选框后,卡片的背景颜色会发生变化。

我的目标是,当页面刷新或作为链接发送时,已选中的卡片将与更改后的背景颜色一起保持选中状态。非常感谢任何帮助。

最佳答案

您可以使用这样的函数:

function dataToQueryString(data){
    var encoded = [];

    for(var key in data){
        // skip prototype properties
        if(!data.hasOwnProperty(key)) continue;

        // encode string properly to use in url
        encoded.push(key + '=' + encodeURIComponent(data[key]));
    }

    return '?' + encoded.join('&');
}

像这样使用它:

data = {
    id: 1,
    name: "John Doe"
}

url = url + dataToQueryString( data );

或针对您的情况更具体:

function storeCardsInQueryString(cards){
    var encoded = [];

    for(var i = 0; i < cards.length; i++){
        encoded.push('cards[]=' + cards[i]);
    }

    return '?' + encoded.join('&');
}

像这样使用它:

cards = [ 1, 7, 21, 22, 53 ];

url = url + storeCardsInQueryString( cards );

关于javascript - 如何使用 javascript 将数据存储为 url 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817091/

相关文章:

javascript - 如何让 React 计算动态变量?

ruby-on-rails - Rails 中带有哈希值的不允许的参数

javascript - 如何在快速路由中访问ajax获取调用参数

javascript - JavaScript 函数方法

javascript - 无法从 CDN 下载 Mustache.js 文件

Android:是否可以从共享 Intent 打开浏览器?

url - 动态向查询请求添加无值的查询参数

swift - 从网络 URL 读取文本文件

c# - 如何在 Azure Functions 中混合使用自定义参数绑定(bind)和依赖项注入(inject)?

javascript - Vuejs 反向键不起作用