【发布时间】:2012-11-25 20:05:56
【问题描述】:
我正在使用 DOJO 1.8 i 和 spring mvc。我想将表单字段转换为 JSON 对象并将其传递给控制器。使用 DOJO dom-form.toObject("myForm1") 如果它是一个简单的对象,我可以将 Json 传递给控制器。
如果我的模型对象具有内部对象,则 .toObject() 无法将其转换为嵌套的 JSON 对象。
var formObject1 = domForm.toObject("myForm1");
alert("hi");
require(["dojo/json"], function(JSON){
postData = JSON.stringify(formObject1);
});
dojo.byId("testdiv").innerHTML = postData;
我得到的 Json 是
{"firstName":"12345","middleName":"Joanna","lastName":"Eliza","address.addrLine1":"add1","address.addrLine2":"add2","address .addrLine3":"add3","email":"12345"}
但我需要如下,
{"firstName":"12345","middleName":"Joanna","lastName":"Eliza","address":{"addrLine1":"add1","addrLine2":"add2 ","addrLine3":"add3"},"email":"12345"}
DOJO 是否支持这种类型的 JSON 转换?
【问题讨论】:
-
如果您发布表单,您确定 Spring MVC 不能正确处理“address.addrLine1”之类的名称吗?您是否真的尝试过发布它,例如
xhr.post({form: "myForm1", url: ..., ...})? -
我正在使用 request.post。 'require(["dojo/request","dojo/dom-form"], function(request,domForm){ request.post("localhost:8080/Caseview/saveForm", { data: domForm.toObject('myForm'), handleAs: "json" }).then(function(data){ // 做某事 }, function(e){ // 处理错误 }); });'我有一个模型类,其中 Address address 作为实例参数,Adress 将此 addressline1 作为实例变量。如果我通过 address.addressline1 我得到一个如下的异常......(见下面的评论)
-
org.codehaus.jackson.map.exc.UnrecognizedPropertyException:无法识别的字段“address.addrLine1”(类 com.sfg.model.CallerName),在 [来源:org.apache. catalina.connector.CoyoteInputStream@135d392;行:1,列:83](通过引用链:com.sfg.model.CallerName["address.addrLine1"])
标签: javascript json dojo