gpt4 book ai didi

Javascript Regex 将 $.param 返回的 url 字符串强制转换为 MVC 模型绑定(bind)约定

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

以下 jQuery 代码:

 $.param({                                        
Parts: [{ hasLabel: "label", hasType: "type", hasIndex : 1 }],
LastKey : "LastKey",
Term : "Term"
})

给出以下输出:

 "Parts%5B0%5D%5BhasLabel%5D=label&Parts%5B0%5D%5BhasType%5D=type&Parts%5B0%5D%5BhasIndex%5D=1&LastKey=LastKey&Term=Term"

解码为(使用 decodeURI()):

 "Parts[0][hasLabel]=label&Parts[0][hasType]=type&Parts[0][hasIndex]=0&LastKey=LastKey&Term=Term"

但是,MVC 中的默认模型绑定(bind)器需要以下内容:

 "Parts[0].hasLabel=label&Parts[0].hasType=type&Parts[0].hasIndex=0&LastKey=LastKey&Term=Term"

我正在寻找一个 Javascript 正则表达式来将 已编码 字符串强制转换为(仍已编码)字符串,但它会解码为正确的模型绑定(bind)约定。

最佳答案

以下应该可以解决问题:

var params = "Parts[0][hasLabel]=label&Parts[0][hasType]=type&Parts[0][hasIndex]=0&LastKey=LastKey&Term=Term";
var mvcParams = params.replace(/\[([^0-9]+)\]/g,'.$1');

编辑:

要处理编码字符串,请执行以下操作:

var params = "Parts%5B0%5D%5BhasLabel%5D=label&Parts%5B0%5D%5BhasType%5D=type&Parts%5B0%5D%5BhasIndex%5D=1&LastKey=LastKey&Term=Term";
var mvcParams = params.replace(/%5b([^0-9]+)%5d/gi,'.$1');

关于Javascript Regex 将 $.param 返回的 url 字符串强制转换为 MVC 模型绑定(bind)约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17580471/

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