我有这个文件api.php

require_once 'db.php';
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$query=mysql_query("SELECT * FROM $tableName") or die(mysql_error());
$arr[];
while($obj = mysql_fetch_object($query)) {
    array_push($arr, $obj);
}

echo $json_response = json_encode($arr);


它正在获取我需要的所有数据。

然后我试图将这些数据放在这里的$ scope中...

// The controller
function InstantSearchController($scope, $http){
 $http.get('api.php').success(function(data) {
     $scope.items = data;
     $scope.items = [
          image : data['icon'],
          english : data['english'],
          british : data['british']
     ];
 });
}


但是,如果我像这样对数据进行硬编码,这确实可行。

function InstantSearchController($scope){
  $scope.items = [
    {
      english: 'English A',
      british: 'British A',
      image: 'images/advil.jpg'
    },
    {
      english: 'English B',
      british: 'British B',
      image: 'images/advil.jpg'
    }
    ]
}


这是我在控制台中看到的错误

未捕获到的SyntaxError:意外令牌:js / angular.js:44
未捕获的错误:[$ injector:modulerr] http://errors.angularjs.org/1.2.15/ $ injector / modulerr?p0 = instantSearch&p1 = E ... larjs.org%2F1.2.15%2F%24injector%2Fnomod%3Fp0%3DinstantSearch%0A%20%20%20%。 ..... 1)

这是小提琴尝试的回应#1

http://jsfiddle.net/XgsWU/

而这是响应#2

http://jsfiddle.net/JGjyS/

最佳答案

对于以后可能会阅读此书的任何人,我都发现我的问题出在我的控制器调用中,并且我对此进行了更改/更新,而且效果很好!

app.controller('InstantSearchController', ['$scope', '$http', function($scope, $http) {
     $http.get('inc/api.php').success(function(itemData) {
     $scope.items = itemData;
   });
}]);

10-06 06:12