Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 角度零件模型中的Post方法_C#_Angularjs_Ionic Framework_Asp.net Web Api2 - Fatal编程技术网

C# 角度零件模型中的Post方法

C# 角度零件模型中的Post方法,c#,angularjs,ionic-framework,asp.net-web-api2,C#,Angularjs,Ionic Framework,Asp.net Web Api2,我遇到了一个相当不寻常的问题 我们目前正在开发一个离子应用程序-使用Web API作为后端数据库。在应用程序中,我们调用$http.post方法将数据发回API,如下所示: $http.post( ApiEndpoint.url + '/PostUpdate/', JSON.stringify(postData), { headers: { 'Content-Type': 'application/json' }

我遇到了一个相当不寻常的问题

我们目前正在开发一个离子应用程序-使用Web API作为后端数据库。在应用程序中,我们调用$http.post方法将数据发回API,如下所示:

$http.post(
    ApiEndpoint.url + '/PostUpdate/',
    JSON.stringify(postData),
    {
        headers: {
            'Content-Type': 'application/json'
        }
    }
).success(function(data) {
    alert("WORKS!");
});
我可以通过Google Chrome开发者工具看到所有数据都被成功发布:

然而,当帖子点击Web API时,并非所有的数据都会显示在模型中。以上述数据为例,您可以看到元素“DetailsOfConversation”中包含数据,但在模型中设置为null:

但是,其他属性(例如OutcomeId、TimeAttain、AttentiveNaddress、jobId)设置了正确的值。这件事把我难住了!你知道我可以从哪里着手解决这个问题吗

编辑:我实现了以下自定义属性:

为了允许我查看POST数据的原始主体,似乎缺少的字段存在:


因此,我想如果这个问题无法解决,我将简单地从中提取数据(我知道这并不理想)

请检查您的序列化程序,并确保您已收到内容类型
'application\json',可能您尚未注册json序列化程序或接受为
'x-www-form-urlencoded'`的内容类型。我以前也遇到过类似的问题,它的源代码在serializer中。

我有一个截止日期,所以我不得不在以下方面做一些工作:

dynamic json = Newtonsoft.Json.JsonConvert.DeserializeObject(input);
string conversation = json.DetailsOfConversation;

上面给出了我需要的数据,这并不理想,但我想这是一个解决办法。

对话的详细信息的数据类型是什么?!如果它不是一个字符串,那么您传递的是一个字符串,这样属性就不会被序列化。嘿,这肯定是一个字符串。请在不使用JSON.stringify的情况下尝试它,并直接传递postData,看看是否有效。你不应该对数据进行字符串化。谢谢@Lex-尝试了一下,但运气不好-得到了完全相同的结果:(这应该是可行的,它给我带来了足够的麻烦,我构建了一个小应用程序,并在本地运行它来测试它。一切都很好,数据发布到我的WebApi控制器方法中很好-所有数据都存在。我尝试了使用JSON和不使用JSON。stringify()我应该注意到,我没有专门设置内容类型,但是当我检查它时,它显示为
application/json;charset=utf-8
。我在Global.asax.cs中使用以下命令设置了json序列化器:HttpConfiguration config=GlobalConfiguration.Configuration;config.Formatters.JsonFormatter.Seraliazersettings.Formatting=Newtonsoft.Json.Formatting.Indented;摘自:我还在$http.post中设置:'Content-Type':'application/Json'