我有一个cshtml,如下所示
@using (Html.BeginForm("Save", "Plans", FormMethod.Post, new { @class = "form-horizontal", id = "floorplan-form" }))
{
@Html.TextBoxFor(m => m.FloorPlan.Name, new { placeholder = "Enter text", @class = "form-control" })
@Html.DropDownListFor(m => m.FloorPlan.GroupId, new SelectList(Model.FloorPlanGroups, "Id", "Name"))
}
在我的javascript (在一个单独的javascript文件中)中,我试图序列化这个表单并将其转换成一个JSON对象。
var formData = $("#floorplan-form").serialize();
console.info(formData);
打印输出
FloorPlan.Name=Test&FloorPlan.GroupId=15
和
var formData = $("#floorplan-form").serializeArray();
console.info(formData);
给了我:
我试过这样做
var formData = JSON.parse($("#floorplan-form").serializeArray());
但是我得到了这个错误:
Uncaught SyntaxError: Unexpected token o
发布于 2014-04-25 16:08:56
更改您的语句
var formData = JSON.parse($("#floorplan-form").serializeArray());
使用
var formData = JSON.stringify(jQuery('#frm').serializeArray()); // store json string
或
var formData = JSON.parse(JSON.stringify(jQuery('#frm').serializeArray())) // store json object
发布于 2015-03-08 20:28:20
使用下面的代码!
var data = $("form").serialize().split("&");
console.log(data);
var obj={};
for(var key in data)
{
console.log(data[key]);
obj[data[key].split("=")[0]] = data[key].split("=")[1];
}
console.log(obj);
发布于 2017-06-01 18:43:45
function jQFormSerializeArrToJson(formSerializeArr){
var jsonObj = {};
jQuery.map( formSerializeArr, function( n, i ) {
jsonObj[n.name] = n.value;
});
return jsonObj;
}
使用此函数。这只适用于jquery。
var serializedArr = $("#floorplan-form").serializeArray();
var properJsonObj = jQFormSerializeArrToJson(serializedArr);
https://stackoverflow.com/questions/23287067
复制相似问题