使用AngularJS服务延迟从DB加载数据

时间:2014-06-16 16:07:45

标签: javascript php mysql json angularjs

我试图使用AngularJS和使用PHP的Ajax调用从数据库中读取数据。 我的目标是创建一个可预编译的表单,该表单已预先加载数据。 数据按计划完美加载,但加载了一些恼人的延迟(~1s)。 我不确定是什么导致视图在这样的延迟中从数据库加载数据,因此我想消除任何编码错误的可能性。也许我的代码没问题,但问题是我使用的本地服务器? 它与$ http.get有什么关系吗?

现在,我正在做一个“加载”技巧(使用ng-show),只有在数据完全加载时才加载表单输入。显然我宁愿避免它。

任何建议都将受到赞赏。

这是我的控制者:

app.controller('mainController', ['$scope',  '$http',
    function ($scope,$http){
        getMyData();

        $scope.saveBanner = function(){
            $http.post("includes/updateBanner.php",{"clickURL":$scope.clickURL,"priceColor":$scope.price_color_picker,"titleColor" : $scope.title_color_picker,"logoURL":$scope.logoURL}).success(function(data){
                getMyData();
            });
        };
        function getMyData(){
            $http.get("includes/getDetails.php").success(function(data){
                $scope.price_color_picker = data[0].priceColor;
                $scope.title_color_picker = data[0].titleColor;
                $scope.clickURL = data[0].clickUrl;
                $scope.logoURL = data[0].logoUrl;
                $scope.loaded = "true";
            });

        };

}]);

这是将JSON中的数据返回到角度

的php文件
<?php 
/*
 * includes/getDetails.php
 *
 * simple db handling file. returns db data using JSON format
 * 
 */

include("../includes/constants.php");
require_once '../classes/db.php'; // The DB class


$query="SELECT * FROM bannerData";
$dbObj = new db;
$dbObj -> db_connect();
$result = $dbObj->db_query($query);

$arr = array();
if($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $arr[] = $row;  
    }
}
$dbObj->db_disconnect();
# JSON-encode the response
echo json_encode($arr);
?>

0 个答案:

没有答案