2017-12-12 17 views
3

アカウントレコードを勘定簿の姓に基づいて表示しようとしています。このアカウント所有者の姓は、入力テキストファイルからのものです。これは、ユーザーアカウント情報を取得するためのwcfサービスを使用してGet操作です。しかし、問題は私が口座名義人の姓を入力し、何も表示されていない送信ボタンをクリックしたときです。私はアプリケーションをデバッグし、エラーメッセージが失われたホストが未定義になった。角度アプリケーションのデータバインディングでデータが表示されない

ここにAngular JS Codeがあります。

@{ 
    Layout = null; 
} 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
</head> 
<body> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script> 
    <script type="text/javascript"> 
     var app = angular.module('MyApp', []) 
     app.controller('MyController', function ($scope, $http, $window) { 
      $scope.IsVisible = false; 
      $scope.Search = function() { 
       var post = $http({ 
        method: "GET", 
        url: "http://localhost:52098/HalifaxIISService.svc/GetCustomers/" + encodeURIComponent($scope.Account_Holder_Last_Name), 
        dataType: 'json', 
        headers: { 
         'Accept': 'application/json, text/javascript, */*; q=0.01', 
         'Content-Type': 'application/json; charset=utf-8' 
        } 
       }); 

       post.success(function (data, status) { 
        $scope.Customers = eval(data.d); 
        $scope.IsVisible = true; 
       }, 
        function (err) { 
         console.log("Some Error Occured." + err); 
        } 
       ); 

       post.error(function (data, status) { 
        $window.alert(data.Message); 
       }); 
      } 
     }); 
    </script> 
    <div ng-app="MyApp" ng-controller="MyController"> 
     Name: 
     <input type="text" ng-model="Account_Holder_Last_Name" /> 
     <input type="button" value="Submit" ng-click="Search()" /> 
     <hr /> 
     <table cellpadding="0" cellspacing="0" ng-show="IsVisible"> 
      <tr style="height: 30px; background-color: skyblue; color: maroon;"> 
       <th> Tittle</th> 
       <th>First Name</th> 
       <th> Last Name</th> 
       <th> DOB </th> 
       <th> House No</th> 
       <th> Street Name</th> 
       <th>Post Code</th> 
       <th> Occupation</th> 
       <th>Account Number</th> 


      </tr> 
      <tbody ng-repeat="m in Customers"> 
       <tr> 
        <td>{{m.Tittle}}</td> 
        <td>{{m.Account_Holder_First_Name}}</td> 
        <td>{{m.Account_Holder_Last_Name}}</td> 

        <td>{{m.Account_Holder_DOB}}</td> 
        <td>{{m.Account_Holder_House_No}}</td> 
        <td>{{m.Account_Holder_Street_Name}}</td> 
        <td>{{m.Account_Holder_Post_Code}}</td> 

        <td>{{m.Account_Holder_Occupation}}</td> 
        <td>{{m.Account_Number}}</td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
</body> 
</html> 

答えて

1

問題が解決したので、このコード行を変更する必要があります。

$scope.Search = function() { 
      var post = $http({ 
       method: "GET", 
       url: "http://localhost:52098/HalifaxIISService.svc/GetCustomers/" + encodeURIComponent($scope.Account_Holder_Last_Name), 
       dataType: 'json', 
       headers: { 
        'Accept': 'application/json, text/javascript, */*; q=0.01', 
        'Content-Type': 'application/json; charset=utf-8' 
       } 
      }); 

      post.then(function (response) { // .success(function(data => .then(function(response 
       var data = response.data; // extract data from resposne 
       $scope.Customers = JSON.parse(data); // eval(data.d) => JSON.parse(data) 
       $scope.IsVisible = true; 
      }, function (err) { 
       $window.alert(err); 
      }); 
} 
関連する問題