【发布时间】:2014-07-04 17:06:57
【问题描述】:
我有三个表 Product、Order 和 OrderDetails。我正在使用 AngularJS 和 ASP.Net WebAPI。现在的问题是,我可以在 OrderDetails 表中成功插入数据。但是在回调中它调用错误函数代替了angularjs控制器中的成功函数,尽管post操作成功执行。找了半天也没搞清楚问题。
在我的 app.js 中
$scope.addorder = function () {
$http.post('/api/OrderDetails/', $scope.orders).success(function (data) {
alert("Added Successfully!!");
$scope.orders = [];
}).error(function (data) {
$scope.error = "Error occured!"
});
};
在我的 OrderDetailsController.cs 中
private static readonly IOrderDetailRepository _orders = new OrderDetailRepository();
// POST api/<controller>
public Order Post(List<OrderDetail> orderDetails)
{
Order aOrder = new Order();
aOrder.AllOrders = orderDetails;
aOrder.odate = DateTime.Now;
return _orders.Add(aOrder);
}
在我的 OrderDetailsRepository.cs 中
private readonly MediaSoftContext _db;
public OrderDetailRepository()
{
_db = new MediaSoftContext();
}
public Order Add(Order order)
{
_db.Orders.Add(order);
_db.SaveChanges();
return order;
}
【问题讨论】:
-
在浏览器的开发工具网络选项卡中检查实际请求,看看发生了什么。
-
它在状态中显示 500 内部服务器错误
-
好的,这告诉你它与角度无关。需要检查发送的内容是预期的内容并解决您的服务器代码问题
-
内部服务器错误通常意味着引发了异常但未处理。
-
我知道这与角度无关。我想我的返回类型有问题。但无法弄清楚它是什么。
标签: asp.net angularjs asp.net-web-api