【问题标题】:angularjs + ionic + php mysql (undefined is not a function)angularjs + ionic + php mysql(未定义不是函数)
【发布时间】:2016-08-26 21:20:34
【问题描述】:

我正在尝试使用 Intel XDK 中的 ionic + angularjs 从 db 加载一些简单数据。我用http://creator.ionic.io创建了主题

因此,有一个 controller.js 文件控制每个“页面”。我有一个主页,控制器使用下面的代码对其进行管理,我正在尝试编写代码以按照http://www.w3schools.com/angular/angular_sql.asp 的指示从数据库中获取数据。

.controller('homeCtrl', ['$scope', '$stateParams', // The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller
// You can include any angular dependencies as parameters for this function
// TIP: Access Route Parameters for your page via $stateParams.parameterName
function ($scope, $http) {

$http.get("http://localhost/project/select-audiencia.php").then(function(response){

    $scope.audiencia = response.data.records;

});

/*$scope.Number = 0;

$scope.test = function(){
   return $scope.Number += 1;
}*/

}])

.controller('suporteCtrl', ['$scope', '$stateParams', // The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller
// You can include any angular dependencies as parameters for this function
// TIP: Access Route Parameters for your page via $stateParams.parameterName
function ($scope, $stateParams) {


}])

我在 $http.get() 行中得到 undefined is not a function。 php文件正常,返回json代码。

$sql = $mysqli->query("SELECT * FROM audiencia");

    if($sql->num_rows > 0){
        while($row = $sql->fetch_array(MYSQL_BOTH)){
            $registro = array(
                "ID" => $row['id'],
                "VOU" => $row['vou'],
                "NAO_VOU" => $row['nao_vou'],
                "TALVEZ" => $row['talvez']                      
            );

        $retorno[] = $registro;

        }   
    }

    $mysqli->close();
    $retorno = json_encode($retorno);
    echo $retorno;

这个函数有什么问题?

更新

<ion-view title="Home" id="page6" style="background-color:#FFFFFF;">
  <ion-content padding="true" style="background: url(img/gyZnJFCoRPC41przFivh_bg.png) no-repeat center;background-size:cover;" class="has-header" ng-repeat="x in audiencia">
    <div>
        <img src="img/XKpA1sK1QMeh5stz2Pe8_logo.png" width="100%" height="auto" style="display: block; margin-left: auto; margin-right: auto;">
    </div>
    <div id="home-markdown8" style="color:#000000;font-size:16px;text-align:center;">
        <p>Comparecerão:
            <strong>{{x.VOU}}</strong>
        </p>
    </div>
    <div id="home-button-bar4" class="button-bar margin-top-100">
        <button id="home-button12" style="font-style:italic;color:#008BBB;border-radius:30px 30px 30px 30px;" class="button button-light  button-block audiencia_btns" ng-click="test()">Vou</button>
        <button id="home-button13" style="font-style:italic;color:#008BBB;border-radius:30px 30px 30px 30px;" class="button button-light  button-block audiencia_btns">Não Vou</button>
        <button id="home-button14" style="font-style:italic;color:#008BBB;border-radius:30px 30px 30px 30px;" class="button button-light  button-block audiencia_btns">Talvez</button>
    </div>
    <div id="home-markdown9" style="color:#000000;text-align:center;">
        <p>vao - nao vao - talvez</p>
    </div>
    <center>
        <a ui-sref="menu.temporada2016" id="home-button15" style="font-style:italic;color:#008BBB;font-size:18px;margin-top:50px;border-radius:30px 30px 30px 30px;width:250px;" class="button button-light  button-block icon-right ion-chatbubbles pics-news-btn">Fotos e Novidades</a>
    </center>
  </ion-content>
</ion-view>

【问题讨论】:

  • php 无关紧要,因为它永远不会被执行。 $http 不是函数,这意味着 .get() 永远不会被执行,并且您的 PHP 代码永远不会被调用。

标签: javascript php mysql angularjs


【解决方案1】:

您的问题似乎是您的控制器中没有包含$http,请尝试以下操作:

....
.controller('homeCtrl', ['$scope', '$http', 
    function ($scope, $http) {
....

【讨论】:

  • 初学者错误 :( 现在似乎没问题:对象 {data: Array[1], status: 200, headers: function, config: Object, statusText: "OK"}。你能接受吗看看我的更新,告诉我如何使用 ng-repeat="x in audiencia"?那个元素正在消失
  • 是的,这个有时还是会绊倒我。只需确保参数匹配即可。
猜你喜欢
  • 2012-10-23
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2015-03-13
  • 1970-01-01
  • 2015-04-01
  • 2013-10-24
  • 2016-11-12
相关资源
最近更新 更多