如何访问序列化表单数据并对其进行处理
How to access serialized form data and process it?
我在html页面上序列化了数据,想要处理它。
我的数据格式如下:
"lusername=unm1&lpassword=p1&lpassword=p2""lusername=unm2&lpassword=unm2p1&lpassword=unmp2""wusername=unmw1&wpassword=pw1&wpassword=pw2
w2""wusername=unmw2&wpassword=pw1""snmpsettings=pqr""subnet=1.1.1.1"
我想处理以上数据,将最终数据字符串排序为:
lusername=unm1;lpassword=p1,p2;
lusername = unmw2; lpassword = pw1,pw2;
snmpsettings = pqr
如何反序列化我的数据以获得上面的输出?
您可以对特定字符进行拆分,参见:如何拆分字符串,在特定字符处中断?
您可能需要进行多次拆分以获得正确的数组结构和值。
您可能正在寻找这样的内容:
var data = '"lusername=unm1&lpassword=p1&lpassword=p2""lusername=unm2&lpassword=unm2p1&lpassword=unmp2""wusername=unmw1&wpassword=pw1&wpassword=pw2w2""wusername=unmw2&wpassword=pw1""snmpsettings=pqr""subnet=1.1.1.1"',
objs = data.split(/"{1,2}/);
var newArr = [];
$.each(objs,function( i, item ) {
if( item !== "" ) {
var parts = item.split( '&' ),
x = {};
$.each( parts, function( index, value ) {
var key = value.split( '=' )[0],
val = value.split( '=' )[1];
x[ key ] = ((!!x[ key ]) ? x[ key ] + ',' : '') + val;
});
newArr.push( x );
}
});
console.log( newArr );
这里是一个工作演示:JS FIDDLE demo
相关文章:
- AJAX调用后使用JavaScript处理数据(CakePHP 2.6.x)
- 如何处理数据视图中项目的鼠标点击
- 为什么我们需要为POST定义res.on('data'..,即使我们不处理数据
- 如何处理数据-Windows 8应用程序
- 替换不处理数据属性值
- 在 Javascript/Phonegap 上处理数据集
- 在这种情况下如何处理数据驱动的输入
- 微风/棱角:如何处理数据
- WebRTC是否为您处理数据包丢失和数据包接收确认等,或者您是否需要为此编写自己的解决方案
- 如何将多行输出传输到另一个 php 文件以处理数据
- encodeURI在二进制字符串上处理数据
- 在 Emscripten'd C++ 程序中处理数据后,如何修复尝试从 Web worker 发回数据时的“内存不足”错
- 防止 WebSQL 数据库中的 SQL 注入?(如何处理数据中的报价?
- 是否有任何方法可以查明localForage/indexedDb是否正在处理数据
- 如何使用AngularJS处理数据的递归呈现
- 使用array.map或array.filter处理数据
- 使用javascript处理数据,并使用Angular.JS以HTML显示
- 使用JSTL处理数据
- Opencpu不能处理数据.表在R
- 我如何处理数据过滤上的一个按钮点击D3.js