javascript - jQuery 构建自定义查询字符串格式不正确
问题描述
我正在尝试构建一个必须如下所示的自定义查询字符串:
?filter[pv_number]=12&filter[location_of_facts]=West
但是当我记录它时,它看起来像这样:
?filter%5Bpv_number%5D=12&filter%5Blocation_of_facts%5D=West
我的jQuery
let pv_number = $( "input[name=pv_number]" ).val();
let location = $( "input[name=location_of_facts]" ).val();
let params = {'filter[pv_number]':pv_number, 'filter[location_of_facts]':location};
let queryString = jQuery.param(params);
console.log(queryString);
编辑
当我进行重定向时:
window.location.href = queryString;
我去这个页面:
http://127.0.0.1:8000/?filter%5Bpv_number%5D=651&filter%5Blocation_of_facts%5D=West
而不是这个页面:(我的目标)
http://127.0.0.1:8000/?filter[pv_number]=651&filter[location_of_facts]=West
编辑 2 完整的 jquery
$('#filterSearch').on('click', function(e) {
let pv_number = $("input[name=pv_number]").val();
let location = $("input[name=location_of_facts]").val();
//filter[id]=1
let params = {'filter[pv_number]':pv_number, 'filter[location_of_facts]':location};
let queryString = jQuery.param(params);
window.location.href = + '?' + queryString ;
});
这重定向到
http://127.0.0.1:8000/?filter%5Bpv_number%5D=651&filter%5Blocation_of_facts%5D=West
我想去:
http://127.0.0.1:8000/?filter[pv_number]=651&filter[location_of_facts]=West
解决方案
标记以下两行
// let params = {'filter[pv_number]':pv_number, 'filter[location_of_facts]':location};
// let queryString = jQuery.param(params);
尝试这个
let queryString = `filter[pv_number]=${pv_number}&filter[location_of_facts]=${location_}`;
location 是保留关键字,所以我改为 location_
推荐阅读
- android - 如何保护 Android 应用程序中的密钥?
- angular - ngx-datatable 获取行的 CSS
- graphql - importSchema GraphQL 错误:ENOENT:没有这样的文件或目录,打开“./schema.graphql”
- python - Numpy数组条件并应用公式
- python - 计算 GARCH 递归的有效方法
- javascript - `function (n) { .. }(jQuery)` 是什么意思?
- javascript - ReactJS - 为调度动作的函数创建一个单独的文件
- javascript - JavaScript Three.js / 逻辑——如何在给定时间内仅使用原生 JS 将对象从一个位置补间到另一个位置
- ruby - 在厨师的同一属性文件中使用其他属性中的属性值
- javascript - 如何关闭同级 LI 元素的 UL?