首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS Post HtmlForm to .NET WebAPI2

AngularJS Post HtmlForm to .NET WebAPI2
EN

Stack Overflow用户
提问于 2014-08-28 16:51:28
回答 1查看 129关注 0票数 1

我有一个html表单定义为:

代码语言:javascript
复制
<form id="userForm" name="userForm" class="form-horizontal" role="form" ng-submit="submitForm()" novalidate>

将几个输入字段绑定到ng模型,如下所示:

代码语言:javascript
复制
<input type="text" class="form-control" ng-model="formAttributes.title" name="formTitle" placeholder="Title of the Form" required>

然后,我通过一个角服务将表单对象发布到.net WebAPI 2控制器,使用:

代码语言:javascript
复制
$http.post('/api/UI', "=" + JSON.stringify(userForm))

WebAPI2中的Post方法使用FromBodystring值,当userForm是一个作用域JSON对象(而不是html表单对象本身)时,我得到了这种类型的post。但是,无论出于什么原因,如果我传递html表单对象,它都不能工作。

我需要将大量表单发布到类似的控制器,是否有相对简单的方法将html表单对象发布到webapi2控制器而不必操作表单数据对象本身?或者,更清楚地说,是否有一种方法来准备webapi2 post方法,以便我可以这样称呼它:

代码语言:javascript
复制
    $http.post('/api/UI',userForm)

我阅读了大量关于webapi2的文章,这使我成功地提交了我使用上面的方法创建的任意$scope.object (如果我用“=”将它加上一个"=",然后将contenttype头部更改为json /charset8 8),但是能够提交表单本身似乎要干净得多,我更愿意这样做。在任何情况下,我想知道为什么我不能提交html表单对象后,我无论如何。

任何帮助都将不胜感激。提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-28 16:59:04

WebApi项目是在Global.asax中配置的,您可以在那里找到一个名为WebApiConfig的类。在这里,您会发现"Media“,上面写着您的WebApi是否能够序列化/反序列化JSON System.Net.Http.Formatting.JsonMediaTypeFormatter()

代码语言:javascript
复制
public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
           //...

            System.Web.Http.GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
            config.Formatters.Insert(0, new System.Net.Http.Formatting.JsonMediaTypeFormatter());
            config.Formatters.Insert(0, new System.Net.Http.Formatting.FormUrlEncodedMediaTypeFormatter());


            config.EnableSystemDiagnosticsTracing();
        }
    }

如果JSON格式化程序是列表中的第一项,则不需要添加=符号,因为JSON将是默认的反序列化器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25554065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档