Ich versuche, Ergebnisse aus der Datenbank angezeigt werden, aber ich bin immer diese FehlermeldungTypeerror: kann Eigenschaft ‚Ergebnis‘ gelesener undefined
TypeError: Cannot read property 'Result' of undefined
Ich bin eine einzelne Seite Anwendung mit AngularJS zu schaffen. Das Ergebnis ist in der services.js. Kann mir jemand helfen, diesen Fehler zu beheben?
Das ist mein services.js Code:
(function() {
'use strict';
/** Service to return the data */
angular.module('MovieApp').
service('dataService', // the data service name, can be anything we want
['$q', // dependency, $q handles promises, the request initially returns a promise, not the data
'$http', // dependency, $http handles the ajax request
function($q, $http) { // the parameters must be in the same order as the dependencies
/*
* var to hold the data base url
*/
var urlBase = '/cm0665-assignment/server/index.php';
var loginUrl = '/cm0665-assignment/server/login.php';
/*
* method to retrieve courses, or, more accurately a promise which when
* fulfilled calls the success method
*/
this.getCategories = function() {
var defer = $q.defer(), // The promise
data = {
action: 'listCategory',
//subject: 'category'
};
$http.get(urlBase, {params: data, cache: true}). // notice the dot to start the chain to success()
success(function(response){
defer.resolve({
data: response.ResultSet.Result, // create data property with value from response
rowCount: response.RowCount // create rowCount property with value from response
});
}). // another dot to chain to error()
error(function(err){
defer.reject(err);
});
// the call to getCourses returns this promise which is fulfilled
// by the .get method .success or .failure
return defer.promise;
};
this.getMovies = function (categoryid) {
var defer = $q.defer(),
data = {
action: 'listFilms',
//subject: 'films',
category_id: categoryid
}
$http.get(urlBase, {params: data, cache: true}).
success(function(response){
defer.resolve({
data: response.ResultSet.Result,
rowCount: response.RowCount
});
}).
error(function(err){
defer.reject(err);
});
return defer.promise;
};
this.getActors = function (filmid) {
var defer = $q.defer(),
data = {
action: 'listActors',
film_id: filmid
}
$http.get(urlBase, {params: data, cache: true}).
success(function(response){
defer.resolve({
data: response.ResultSet.Result,
rowCount: response.RowCount
});
}).
error(function(err){
defer.reject(err);
});
return defer.promise;
};
this.getAllMovie = function() {
var defer = $q.defer(),
data = {
action: 'listFilms'
}
$http.get(urlBase, {params: data, cache: true}).
success(function(response){
defer.resolve({
data: response.ResultSet.Result,
rowCount: response.RowCount
});
}).
error(function(err){
defer.reject(err);
});
return defer.promise;
};
this.getSearchResult = function() {
var defer = $q.defer(),
data = {
action: 'search',
// term: terms
}
$http.get(urlBase, {params: data, cache: true}).
success(function(response){
defer.resolve({
data: response.ResultSet.Result,
rowCount: response.RowCount
});
}).
error(function(err){
defer.reject(err);
});
return defer.promise;
};
this.login = function (userID, passwd) {
var defer = $q.defer(),
data = {
//action: 'loginRob',
userid: userID,
password: passwd
};
$http.post(loginUrl, data). // notice the dot to start the chain to success()
success(function (response) {
defer.resolve({
data: response.status, // create data property with value from response
result: response,
user: response.username
});
console.log(response);
}). // another dot to chain to error()
error(function (err) {
defer.reject(err);
});
return defer.promise;
};
}
]
);
}());
Jede Zeile der des ResultSet diesen Fehler angezeigt wird. Dies bedeutet, dass ich jedes Mal, wenn ich auf eine andere Navigationsleiste klicke, diese Fehlermeldung zeige. Ich brauche wirklich jemanden Hilfe dabei. Vielen Dank im Voraus.
Dieser Fehler zeigt an, dass Sie auf 'result' zugreifen, bevor es definiert ist. In einem anderen Fall, wenn es in einigen Fällen nicht definiert ist, dann handle es mit der Bedingung 'if-else'. –
aber der Code funktionierte gestern. Ich habe danach nichts mehr geändert. Kann es Syntaxfehler sein? – anonymous5671
ich habe gerade herausgefunden, dass, sobald ich den gleichen Code in mozilla laufen seine Arbeit aber in Chrom nicht funktioniert – anonymous5671