2
我在工廠使用angularjs $http.get
來執行API調用。當我運行我的angularjs應用程序時,它會返回數據。然而,當我使用F12看着在控制檯選項卡,它具有:從angular.js文件生成
"TypeError: boolean is not a function"
此錯誤。請參閱下面的工廠代碼和listController代碼。
沒有人有任何想法,爲什麼下面的代碼原因angular.js產生:
"TypeError: boolean is not a function" and how to fix the following code to resolve this error?
這裏是工廠代碼:
app.factory('MyFactory', function ($http) {
var dataFactory = {};
var urlBase = 'api/suppliers/search?&q=';
dataFactory.search = function (searchString) {
var urlString = urlBase + searchString;
return $http.get(urlString)
}
return dataFactory;
});
這裏是代碼打電話給工廠:
var ListController = function ($scope, $location, MyFactory) {
$scope.message = "List.html page";
var searchstring = 'de';
getSuppliers();
function getSuppliers() {
MyFactory.search(searchstring)
.success(function (data) {
$scope.suppliers = [];
$scope.suppliers = data.items;
})
.error(function (error) {
$scope.status = "Unable to load customer data: " + error.message;
});
}
};
感謝您的建議。我已經複製了你的代碼,但它仍然給了我同樣的錯誤。是不是.success(這是我原來的)與.then做同樣的事情? – user3439326
'.success'在指示成功的http響應上被調用,例如2 ##分支中的大部分。如果遇到錯誤響應,例如4 ##和5 ##分支,則調用'.error',並調用'.then'。 '.then'是任何'q'承諾的一種方法(這是我相信角度使用的),但'.success'和'.error'是http promise。 – theheadofabroom