【发布时间】:2014-08-28 16:51:28
【问题描述】:
我有一个 html 表单定义为:
<form id="userForm" name="userForm" class="form-horizontal" role="form" ng-submit="submitForm()" novalidate>
有几个输入字段与 ng-model 相关联:
<input type="text" class="form-control" ng-model="formAttributes.title" name="formTitle" placeholder="Title of the Form" required>
然后我通过 Angular 服务将表单对象发布到 .net WebAPI 2 控制器,使用:
$http.post('/api/UI', "=" + JSON.stringify(userForm))
WebAPI2 中的 Post 方法采用 [FromBody]string 值,当 userForm 是范围 JSON 对象而不是 html 表单对象本身时,我得到了这种类型的帖子,但无论出于何种原因,如果我是传递 html 表单对象。
我需要将大量表单发布到类似的控制器,是否有相对简单的方法可以将 html 表单对象发布到 webapi2 控制器,而无需操作表单数据对象本身?或者,更清楚地说,有没有办法准备 webapi2 post 方法,以便我可以这样调用它:
$http.post('/api/UI',userForm)
我已经阅读了大量关于 webapi2 的文章,这让我成功地提交了我使用上述方法创建的任意 $scope.object(如果我在它前面加上“=”,将 json 对象字符串化,然后将 contenttype 标头更改为 json/charset8) 但能够提交表单本身似乎更干净,我更愿意这样做。无论如何,我想知道为什么在我对它进行字符串化之后我不能提交 html 表单对象。
任何帮助将不胜感激。提前致谢!
【问题讨论】:
标签: angularjs asp.net-web-api2