Javascript Regex将$.param返回的url字符串强制转换为MVC模型绑定约定
Javascript Regex to coerce url string returned from $.param into MVC model binding convention
以下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中的默认模型绑定器期望以下内容:
"Parts[0].hasLabel=label&Parts[0].hasType=type&Parts[0].hasIndex=0&LastKey=LastKey&Term=Term"
我正在寻找一个Javascript Regex来将编码的字符串强制转换为(仍然编码的)字符串,但它可以解码为正确的模型绑定约定。
以下应该可以做到:
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');
相关文章:
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- c# mvc nreco HtmlToPdfConverter 问题将 html 文档转换为 pdf
- 将列表<字符串>转换为客户端 ASP.NET MVC 上的 Json 数组
- 将2D对象数组C#转换为MVC中的Javascript
- 有没有一种简单的方法可以将ExtJS 4 MVC应用程序转换为ExtJS DeftJS MVC
- 将MVC ViewModel转换为外部.js文件中的Javascript对象
- 将 MVC 4 Razor 变量转换为 JavaScript 数组
- JQuery TypeError:在MVC中将循环结构转换为JSON
- 在代码点火器中将代码转换为 MVC 类型
- 如何将节点.js服务器转换为 MVC
- MVC 转换存储为字符串的 json
- 在MVC的视图文件夹中将Razor代码转换为aspx代码
- 将模型转换为数组mvc 3
- 如何让mvc动作触发jquery ajax转换器
- Javascript Regex将$.param返回的url字符串强制转换为MVC模型绑定约定
- 在MVC视图中使用JavaScript将UTC时间转换为客户端浏览器的时区
- 将Json转换为HTML MVC
- 将Razor字符串变量转换为MVC中的Javascript字符串变量
- 什么是JSON ?净?MVC已经有了一种将对象转换为json的方法
- 将MVC ViewBag属性转换为小写