救命啊!拜托。我刚开始使用SQL、PHP和JSON来创建数据库。
我的数据不是从数据库(localhost)显示的,使用的是XAMPP。
我创建Php行从MySQL获取数据,然后创建JSON文件,这样AngularJS可以处理它。但我的数据根本没有显示出来。
在开发工具(Chrome)中不显示任何错误。我创建的代码或数据库有什么问题吗?
MYSQL pic
Columns pic
SELECT* PIC
这是我的api.php

<?php

        $db_name  = 'talents';
        $hostname = 'localhost';
        $username = 'root';
        $password = '';

        $dbh = new PDO("mysql:host=$hostname;dbname=$db_name", $username, $password);

        $sql = 'SELECT id, name, images, images2, images3, indexing FROM talents';

        $stmt = $dbh->prepare( $sql );

        $stmt->execute();

        $result = $stmt->fetchAll( PDO::FETCH_ASSOC );

        $json = json_encode( $result );

        echo $json;
?>

这是我的app.js
(function () {

    var alice = angular
        .module('alice', [])
        .controller('AliceController', function ($scope, $http) {
            $http.get('api.php').
            then(function (talents) {
                $scope.talents = talents;
            });

        });


})();

最后是我的HTML
<div ng-controller="AliceController" class="talent-container">
    <div ng-repeat="talent in talents" class="card boxed" ng-class=" {{talent.indexing}}">
        <div class="actionlist">
            <div id="id"><span>{{talent.id}}</span></div>
            <div class="addBtn">
                <a href="#"><img src="assets/icons/plus.svg"></a>
            </div>
            <div class="loveBtn">
                <a href="#"><img src="assets/icons/heart-in-a-circle.svg"></a>
            </div>
        </div>
        <div class="media">
            <div><img id="slideShow" ng-src="{{talent.images}}"></div>
            <div class="hide"><img id="slideShow" ng-src="{{talent.images2}}"></div>
            <div class="hide"><img id="slideShow" ng-src="{{talent.images3}}"></div>

        </div>
        <div class="info">
            <div id="name">{{talent.name}}</div>
            <div class="button medium">
                <a href="detail.html" class="moreBtn">MORE</a>
            </div>
        </div>

        <div class="skills-thumb">
            <a ng-repeat="skill in talent.skills" href="#" class="boxedMedium">{{skill.name}}</a>
        </div>
    </div>


</div>

最佳答案

一定要在http服务上实现错误处理程序。
首先,我将使用postman直接调用api,看看您是否得到任何响应。如果不是,那么很可能你的问题是在php方面。
如果您确实得到了响应,并且在加载带有角度本身的页面时在firebug中没有看到任何调用,那么很可能是在js/客户端。
Chrome不会告诉你什么错误,除非它从服务器返回并返回一个错误代码,你可以只提供一个空的200。

09-25 16:22
查看更多