普通网友 2018-01-09 11:35
浏览 164

Ajax更改URL参数

Now i have javascript code that switch page(reloads) it to something like this after user checks a checkbox

http://localhost:8000/products/all-products?country=1

when user clicks on other checkbox it changes 1 to 2, for example. But what i would like to achieve is something like this : ?country=[1,2] or if there is only one parameter than it can be ?country=1 or ?country=[1], if there are checked more than one checkbox, it needs to be separated by a comma.

JS code :

   $('input[type="checkbox"]').on('change', function(e){
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    var data = {},
        fdata = [],
        loc = $('<a>', {href:window.location})[0];

    $('input[type="checkbox"]').each(function(i){
        if(this.checked){
            if(!data.hasOwnProperty(this.name)){
                data[this.name] = [];
            }
            data[this.name].push(this.value);
        }
    });

    $.each(data, function(k, v){
        fdata[k] = [v.join(',')];

    });

    var countryArr = fdata["country"];
    fdata = countryArr.join('&');
    $.post('/wines/all-wines/', fdata);
    console.log(fdata);

    if(history.pushState){
        history.pushState(null, null, loc.pathname+'?country='+fdata);

        window.location.href = loc.pathname+'?country='+fdata;
    }
});

Thank you very much!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题