2016-07-14 2 views
0

私は、角度と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

<!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> 

を表示htmlページアプリ.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 

答えて

0

デザインが間違っています。

コントローラ内 - ルートのパラメータではありませんが、ルートのURLにはありません。 apiがcustomerDetailにデータを返します。このオブジェクトは、理想的にはあなたが探している顧客の詳細を持つ必要があります。だから、htmlバインディングでそれを使用してください。

html - 最も外側のdivはng-modelを使用していますが、これは2ウェイバインディングとしてng-bindを使用すると間違っています。

Ng-modelには、未定義のスコープオブジェクトがあります。

多くのpblmsがコード内にあります。それを確認してください

+0

あなたは、私が編集を確認することができますどうした? – kapi

+0

これは技術的に見た目がいいようです。今、アプリケーションに入るのは何ですか? – adiinstack

0

ng-models="customers"の変数はどこにも定義されていないため、あなたはそのビットを削除できます。

var kind_Of_Customerから始まり、$scope.activePath = null;で終了するブロック全体を削除できます。

GET要求から返されたデータをGET要求のコールバックで処理します。それとも、ただ

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

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

を置き換えることができます。

あるいは、要求のロード中にavoid {{}} showing upへ:

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

(私も2を分離するためのサービスでこのような要求を置くことをお勧めしたい)

+0

私はあなたが言ったことをしたが、それでも動作しません。コンソールにエラーが表示されません。何が問題なの? – kapi

+0

これらのリクエストをどのようにサービスに入れるか? – kapi

+0

実際に、 'console.log($ scope.customerDetail)'を '$ scope.customerDetail = data;の直下に置くと、期待される結果が見えますか?他に何も問題がないことを確認したいと思います。編集:要求の分離に関しては、http:// stackoverflowのようなものを見てください。com/questions/21854296/angularjs-scope-doesnt-update-on-a-factory-a-factory-on-a-factory-on-a-factory – rch

関連する問題