簡體   English   中英

angularjs問題(錯誤捕獲不是一個函數)

[英]angularjs issue with (error catch is not a function)

嗨,我需要一些小指導。 我可以在viewCtrl中提取數據,但是每次我添加一個新聯系人時,得到的問題是$ http(..)then(..)catch在oBJECT。$ scope.addContact中不起作用。知道是什么原因造成的? 它也不允許我“發布”,但我能夠“獲取”。 誰能看到我的工作出了什么問題?

  var app = angular.module('app', []); app.controller('viewCtrl', function($scope, $http) { var url = "https://"; $http({ method: "GET", url: url, headers: { "accept": "application/json;odata=verbose" } }).success(function(data, status, headers, config) { $scope.contacts = data.d.results; console.log($scope.contacts); }).error(function(data, status, headers, config) {}); }); app.controller('addItemsController', function($scope, $http) { var url = "https://"; $scope.addContact = function() { return $http({ headers: { "Accept": "application/json; odata=verbose", "X-RequestDigest": jQuery("#__REQUESTDIGEST").val() }, method: "POST", url: url, data: { 'Lastname': $scope.Lastname, 'Firstname': $scope.Firstname } }) .then(saveContact) .catch(function(message) { console.log("addContact() error: " + message); }); function saveContact(data, status, headers, config) { alert("Item Added Successfully"); return data.data.d; } } //console.log("an item has been added!"); }); app.controller('editItemsController', function($scope) { $scope.editItem = function() { console.log("an item can now be edited!"); } }); app.controller('deleteItemsController', function($scope) { $scope.deleteItem = function() { console.log("item has been deleted"); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <!DOCTYPE html> <html ng-app="app"> <body ng-app="myapp"> <div ng-controller="viewCtrl"> <div ng-repeat="contact in contacts"> {{contact.ID}}: {{contact.Lastname}}, {{contact.Firstname}} <button>Edit</button> <button>Delete</button> <br /> </div> </div> <h3>Add Contacts</h3> <div ng-controller="addItemsController"> <div class="Table"> <div class="Row"> <div class="Cell"> First Name : </div> <div class="Cell"> <input type="text" id="Firstname" ng-model="Firstname" /> </div> </div> <div class="Row"> <div class="Cell"> Last Name : </div> <div class="Cell"> <input type="text" id="Lastname" ng-model="Lastname" /> </div> </div> <div class="Row"> <div class="Cell"> </div> <div class="Cell"> <input type="button" id="btnAddContact" value="Add Contact" ng-click="addContact()" /> <input type="button" id="btnAddContact2" value="Add Contact" ng-click="addItem()" /> </div> </div> </div> </div> <hr /> <h3>Edit Contacts</h3> <div ng-controller="editItemsController"> <div class="Table"> <div class="Row"> <div class="Cell"> ID : </div> <div class="Cell"> <input type="text" id="itemId" ng-model="itemId" /> </div> </div> <div class="Row"> <div class="Cell"> First Name : </div> <div class="Cell"> <input type="text" id="firstName" ng-model="firstName" /> </div> </div> <div class="Row"> <div class="Cell"> Last Name : </div> <div class="Cell"> <input type="text" id="lastName" ng-model="lastName" /> </div> </div> <div class="Row"> <div class="Cell"> </div> <div class="Cell"> <input type="button" id="btnEditContact" value="Edit Contact" ng-click="editItem()" /> </div> </div> </div> </div> <hr /> <h3>Delete Contacts</h3> <div ng-controller="deleteItemsController"> <div class="Table"> <div class="Row"> <div class="Cell"> ID : </div> <div class="Cell"> <input type="text" id="itemId" ng-model="itemId" /> </div> </div> <div class="Row"> <div class="Cell"> </div> <div class="Cell"> <input type="button" id="btnDelContact" value="Delete Contact" ng-click="deleteItem()" /> </div> </div> </div> </div> </div> </body> </html> 

我在onviewCtrl上看到函數之間有些不匹配

$ HTTP(...)。成功(...)。錯誤(...)

而在addItemsController上

$ HTTP(...),然后(...)趕上(...)

使用您可以使用的代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM