我无法使用角度检索特定行的所有数据

时间:2016-07-14 18:00:00

标签: php angularjs

我正在使用angular和php构建项目。我有一个客户表,我可以检索所有表数据,当我输入特定客户时,它只向我显示customer_id而不是其他客户详细信息。有人可以帮忙吗?

customerCardDetailsCtrl.js - 显示特定客户所有信息的页面的控制器:

"use strict";
angular.module('dataSystem').controller('customerCardDetailsCtrl', function($scope, $http ,$routeParams, $location) {

  var customer_id = $routeParams.customer_id;
  $scope.customer_id = customer_id;


  $http.get('http://localhost:8081/hamatkin/api/get-allCustomers.php/'+ customer_id).success(function(data){
    $scope.customerDetail = data;
  });
});

customerCardDetails.html - 仅显示customer_id

的html页面
   <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
  <div class="customer">
    <h1>כרטיס לקוח</h1>
    <a href="/hamatkin/index.html#/customerCards">חזור לרשימת כרטיסי הלקוחות</a>
    <h1 ng-bind="customerDetail.customer_id"></h1> 
  </div>
</body>
</html>

app.js -

  .when('/customerCardDetails/:customer_id', {
                controller: "customerCardDetailsCtrl",
                templateUrl: '../hamatkin/Views/customerCardDetails.html',
                screenTitle: "",
                costumerHidden: false,
                reportsHidden: true,
                stockHidden: true,
                isIncome_expensesHidden: true,
                isNavTabHidden: false,
                isFooterHidden: false,
                ordersHidden: true

2 个答案:

答案 0 :(得分:0)

设计错了。

在控制器中 - 您正在使用路由参数,尽管它们不在路由URL上。 你的api在customerDetail中返回数据,理想情况下,这个对象应该包含你正在寻找的客户的详细信息。所以在html绑定中使用它。

在html中 - 最外层的div使用ng-model,这是错误的,因为它的2路绑定使用ng-bind。

Ng-model有一个未定义的范围对象。

代码中有更多pblms。检讨它

答案 1 :(得分:0)

不知道你在使用ng-models="customers"做什么,因为该变量未在任何地方定义 - 你可以删除该位。

可以删除从var kind_Of_Customer开始到以$scope.activePath = null;结尾的整个块。

您需要从GET请求返回的数据,因此请在GET请求的回调中处理它。或者你可以直接替换

<h1>{{customer_id}}</h1>

<h1>{{customerDetail.customer_id}}</h1>

或者,在加载请求时avoid {{}} showing up

<h1 ng-bind="customerDetail.customer_id"></h1>

(我还建议将这些请求放在一个服务中,将两者分开)