我有一个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
解决方法
更改你的声明
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