在我的控制,我調用該函數變量在返回(身份不明) - AngularJS
function initialiseQuizContent(quizIdArray){
alert(getQuizService.getQuizContent(quizIdArray));
}
它調用的方法在下列服務
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)'放在承諾中一樣,如上所述,然後返回正確的數組。我對此很陌生,所以原諒了任何愚蠢的問題,但似乎getQuizContent()方法返回的值是在執行PHP文件並收到msg.data之前完成的?導致未定義的變量'theResult'。
我將不勝感激任何幫助。由於
如果你需要獲取數據,你爲什麼使用$ http.post而不是$ http.get? –
我的錯誤,仍然不起作用 – FootsieNG