我正在尝试将转发器数组项作为参数发送到web api控制器方法。当我单击包含该功能的按钮时,它在控制台中给出了我的错误,没有任何反应。
object is not a function
我想我正以错误的方式传递orders数组。如何正确地做到这一点。
我的重复
<table class="table table-bordered table-hover" style="width:800px" data-ng-model="orderProduct">
<tr data-ng-repeat="order in orders">
<td>{{selectedProduct.pname}}</td>
<td>{{order.pid}}</td>
<td>{{order.oid}}</td>
<td>{{order.qty}}</td>
<td>{{order.total}}</td>
</tr>
</table>
<input type="button" data-ng-click="addOrder()" class="btn btn-danger" data-ng-disabled="!orders.length" value="Submit Orders" />
我的控制器方法$ scope
$scope.addOrder = function () {
var orders = this.orders;
$http.post('/api/OrderDetails/', orders).success(function (data) {
alert("Added Successfully!!");
$scope.addMode = false;
}).error(function (data) {
$scope.error = "An Error has occured while Adding Order details! " + data;
});
};
答案 0 :(得分:1)
考虑了一下这条线
object is not a valid function
和firefox的另一个错误
fnPtr is not a function
在我的脑海里突然嗡嗡作响,我的功能命名可能有点可疑。我想这很愚蠢,但是在将函数名从addOrder()更改为addorder()之后,就是在用小'o'替换大写'O'之后,错误已经消失并且一切正常。和平!!
答案 1 :(得分:1)
我从你的插图中得知的是 - 表格名称和控制器的方法名称不能相同。我将表单名称从 addOrder 更改为 addOrderForm 名称更改后,这可以正常工作。 请在此处查看工作内容:http://plnkr.co/edit/CfaNY9z5vVMi5uqh5v7k?p=preview
PS:我已经冒昧地添加了一些json和angular代码来使表单正常工作。