您好我有agularjs資源下面,工作正常。Angularjs資源將空對象發送到api控制器
return {
formDis: $resource('/api/pDisc/:id', { id: '@id' }, { update: { method: 'POST' } })
};
angularjs cotroller使用的資源是
$scope.submit = function (form) {
console.log(form.dis.length);
console.log(form.dis);
for (var i = 0; i < form.dis.length; i++) {
pRepository.formDis.update(form.dis[i], function() {
{
alert("Saved");
}
});
};
};
WebConfig是
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
是recieving是
MVC阿比
// POST api/projDisc
public HttpResponseMessage Postproject_discussion(pDis pDis)
{
db.project_discussion.Add(pDis);
db.SaveChanges();
}
類是
[DataContract(IsReference = false)]
[Serializable]
public partial class pDis
{
public int pDis_id { get; set; }
public int pro_id { get; set; }
public string message {get; set;}
public virtual pro pro { get; set; }
public virtual people people { get; set; }
}
}
當我運行它,我在API得到錯誤的
db.project_discussion.Add(pDis);
錯誤是
An exception of type 'System.Data.Entity.Validation.DbEntityValidationException' occurred in EntityFramework.dll but was not handled in user code
因爲API是接收空對象我得到這個錯誤。 在角度控制器中,我可以看到控制檯中的對象從窗體正確傳遞。 一旦對象被提交到資源並從它到API,有一些錯誤,它最終作爲空對象。請讓我知道如何解決它。
您可以使用瀏覽器調試工具並查看發送到服務器的內容嗎? –
在瀏覽器工具中,我看到,POST http:// localhost:60482/api/projDis發佈的數據是{「pro_id」:「221」,「message」:「sdsfsd」pDis_id:「」}數據正在提交控制器到它的時間它是隻是空的 –