gpt4 book ai didi

javascript - Angular ngResource 的 $save() 不起作用

转载 作者:行者123 更新时间:2023-11-28 19:05:14 24 4
gpt4 key购买 nike

我想将数据发布到我的 asp.net webapi Controller ,通过使用属于 ngResource 的 $save() 方法,我收到此错误:“类型错误:$scope.product.$save 不是 n.$scope.saveProduct 处的函数

当我使用 $http() 时,数据正在保存,但 $save() 给我错误,其他方法如 $query() 和 $get() 工作正常只有 $save () 导致错误。

代码:

// first file (module)

var app = angular.module('commonServices', ['ngResource'])
.constant('appSettings', {
serverPath: 'http://localhost:29904/'
});

//second file (factory)

(function(){
angular.module('commonServices')
.factory('productResource', ['$resource', 'appSettings', productResource])
function productResource($resource, appSettings) {
return $resource(appSettings.serverPath + "api/Products/:id",
null,
{
'update': { method: 'PUT' },

});
}
}());

// third file (controller)
myApp.controller('editProductController', ['$scope', '$routeParams', '$http', 'productResource',
function ($scope, $routeParams, $http, productResource) {
$scope.num = $routeParams.id;
$scope.alertUser = false;


$scope.saveProduct = function () {


$scope.product.$save(function(data){});
}
};
}]);

//模板中的一些标记

<div class="form-group ">

<label class="col-md-2 control-label"
for="inputProductName">Product Name</label>

<div class="col-md-4">
<input class="form-control"
id="inputProductName"
name="inputProductName"
type="text"
placeholder="Product Name (required)"
required
ng-model="product.productName" />
</div>


</div>

<div class="form-group">
<label class="col-md-2 control-label" for="inputProductCode">Product Code</label>

<div class="col-md-4">
<input class="form-control"
id="inputProductCode"
name="inputProductCode"
type="text" ng-model="product.productCode">
</div>

</div>

<div class="form-group">
<label class="col-md-2 control-label"
for="inputAvailabilityDate">Availability</label>

<div class="col-md-4">
<div class="form-control">
{{product.releaseDate}}
</div>
</div>
</div>

<div class="form-group">
<label class="col-md-2 control-label"
for="inputDescription">Description</label>

<div class="col-md-4">
<textarea class="form-control"
id="inputDescription"
name="inputDescription"
placeholder="Description"
rows="3" ng-model="product.description"></textarea>
</div>
<br />
</div>

<div class="form-group">
<div class="col-md-4 col-md-offset-2">
<span>
<button class="btn btn-primary"
style="width:80px;margin-right:10px" ng-click="saveProduct()">
Save
</button>
</span>

最佳答案

使用 $save() 而不调用 get 我所做的就是在这里:

productResource.save($scope.product, function(data) {

});

感谢@TzachOvadia 为我提供了线索:)

关于javascript - Angular ngResource 的 $save() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31816665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com