变量没有被返回(未知)- AngularJS
variable not being returned (unidentified) - AngularJS
在我的控制器中,我调用函数
function initialiseQuizContent(quizIdArray){
alert(getQuizService.getQuizContent(quizIdArray));
}
调用以下服务
中的a方法app.service('getQuizService', function($http) {
var quizArray;
this.setQuizArray = function(quiz){
quizArray = quiz;
};
this.getQuizArray = function(){
return quizArray;
};
this.getQuizContent = function(quizArray){
var $promise=$http.get("http://localhost/PHP/getQuizContent.php", {'quizArray': quizArray}); //send data to addQuiz.php
var theReturn;
$promise.then(function(msg){
//alert(msg.data);
theReturn = msg.data;
});
return theReturn;
};
});
然而,我得到的警报结果是"未定义"。我知道对PHP文件的调用工作得很好,就像我把'alert(msg.data)'放在promise中一样,如上所述,然后返回正确的数组。我是新手,所以请原谅任何愚蠢的问题,但似乎是为'getQuizContent()'方法返回的值是在PHP文件执行和msg之前完成的。收到数据了吗?导致未定义的变量'theResult'。
我将感激任何帮助。由于
使用$http
服务意味着使用AJAX,响应是异步的,这就是为什么您得到undefined
,我建议更改您的服务并做这样的事情:
app.service('getQuizService', function($http) {
var quizArray;
this.setQuizArray = function(quiz){
quizArray = quiz;
};
this.getQuizArray = function(){
return quizArray;
};
this.getQuizContent = function(quizArray){
var promise=$http.post("http://localhost/PHP/getQuizContent.php",
{'quizArray': quizArray}).then(function (response) {
console.log(response);
return response.data;
});
return promise;
};});
然后在控制器中执行如下操作:
function initialiseQuizContent(quizIdArray){
getQuizService.getQuizContent(quizIdArray).then(function(data){
alert(data);
});
}
相关文章:
- AngularJS错误:$injector:unp未知提供程序-$modalInstanceProvider
- AngularJS的子列表数量未知
- AngularJS:未知的提供程序错误
- 若在同一文件中,则指令的Angularjs服务是未知的
- AngularJS 未知类型错误:无法读取 null 的属性“1”
- AngularJS 未知提供程序
- AngularJS在尝试使用模块时抛出未知提供程序:$scopeProvider <-$scope错误
- 未知提供商:$resourceProvider - AngularJS
- 未知提供程序错误 - AngularJS 应用程序问题
- angularjs + 下载 csv 文件 + 错误: [$injector:unpr] 未知提供程序
- AngularJS 解析未知密钥提供程序
- 在 yeoman 中使用动画模块编译 AngularJS 应用程序会给出未知的提供程序错误
- AngularJS + RequireJS -- 未知提供程序,Angular bug
- AngularJS:操纵未知$element的$scope
- AngularJS + RequireJS.未知提供商:$routeProvider
- AngularJS$routeProvider不包括视图(未知提供程序)
- 未知提供程序:$modalProvider < - AngularJS$modal错误
- Angularjs - 未知的提供者:
- Angularjs.获取控制器的范围.未知的提供程序错误
- 变量没有被返回(未知)- AngularJS