gpt4 book ai didi

javascript - MVC "Get"查询字符串中具有相同名称的多个复选框列表值,通过 javascript 检索

转载 作者:行者123 更新时间:2023-11-30 17:25:54 27 4
gpt4 key购买 nike

提交表单后生成的 URL:

http://localhost/Search/Index?selectedOrganisationId=26195&selectedOrganisationId=26244

我有一个正在执行获取请求的表单。我有几个隐藏字段存储选定组织 ID 的 ID。查询字符串 (selectedOrganisationId) 中的参数名称使用相同的名称。

我已经通过 StackOverflow 进行了检查,所有解决方案似乎都只能返回该给定名称的查询字符串 (26244) 中的最后一个值。

如何将它们全部放入一个数组中?这可能吗?

MVC 处理它并通过 Controller -> Action 完美地处理它。

最佳答案

首先想到的是解析来自 window.location.search 的查询字符串——类似于:

// a plain old javascript object (dictionary) to store the query string
var querystring = {};

// * 'window.location.search' is the query string of the current browser page
// * replace(regex, function) is a method of string that takes
// - a regular expression (between two forward slashes, the 'g' means global,
// i.e. do more than just one replace) that matches `abc=123`
// - a function that is called for each pattern match

window.location.search.replace(/([^?=&]+)(=([^&]*))?/g, function($1, $2, $3, $4) {
// $1 to $4 are arguments that catch the groups in the regex.
// Only $2 and $4 are of interest.

// If we already have seen this value append (push) it on to the array
if ($.isArray(querystring[$2]))
querystring[$2].push($4);
else
// otherwise create a new array with the found item
querystring[$2] = [$4];
});

console.log(querystring);
console.log(querystring.selectedOrganisationId); // an array

正则表达式借自this article ,但代码扩展为考虑具有相同名称的多个查询字符串项。

关于javascript - MVC "Get"查询字符串中具有相同名称的多个复选框列表值,通过 javascript 检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285874/

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