Ajax更改url参数

时间:2018-01-09 11:35:49

标签: javascript jquery ajax

现在我有javascript代码,用户检查复选框后将页面(重新加载)切换为类似的内容

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

当用户点击其他复选框时,它会更改1到2,例如。但我想要达到的目的是:?country = [1,2]或者只有一个参数可以是吗?country = 1或?country = [1],如果检查多个参数复选框,需要用逗号分隔。

JS代码:

   $('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;
    }
});

非常感谢!

0 个答案:

没有答案