2017-03-07 13 views
0

私は多くのソリューションを検索して見ましたが、まだ進歩はありません。コンソール内でエラーが発生せず、ajaxリクエストから何も返されません。ここでASP.NETのアクションメソッドからJsonオブジェクトを取得する

はアクションメソッドのコードです:

 [HttpGet] 
     public ActionResult GetEmployees() 
     { 
      AWEmployeeModel aw = new AWEmployeeModel(); 
      aw.ID = 0; 
      aw.Name = "Selena"; 
      aw.Position = "Cashier"; 
      aw.Department = "Finance"; 

      return Json(aw,JsonRequestBehavior.AllowGet); 
     } 

そして、ここでは私のAJAX呼び出しは、私のコントローラ内である:

EmpApp.controller("AWEmpControl", function ($scope) { 

loadEmployees(); 

function loadEmployees() { 
    $.ajax({ 
     url: "/AWEmployee/Index/GetEmployees", 
     method: "GET", 
     success:function (response) { 
      $scope.employees = response["Name"]; 
     } 
}); 
} 

}); 

私はまた、所望のページでNGディレクティブを持っています:

<div class="container" ng-app="AWEmpApp" ng-controller="AWEmpControl"> 
{{employees}} 
</div> 

$ scope.employees = "Hello ..."を割り当ててスクリプトがうまく動作するかどうかをテストしました。問題はないので、スクリプトの読み込みとは関係ありません。何が問題になるのでしょうか?リクエストをGETとして記述し、JSONオブジェクトを返すようにしました。何か不足していますか?

ありがとうございます。サーバはJSONオブジェクトを返しますので、私は奇妙な見つけ

、.......場所で見つかりませんでしたXML:EDIT

私はFirefoxのコンソールをチェックし、バックエラーを解析ました私は次のようにAjaxのメソッドを置き換える:

function loadEmployees() { 
    $http.get('/AWEmployee/Index/GetEmployees') 
     .then(function(response) { 
       $scope.employees =response; 
      }); 

}; 

を今すぐ応答ではなく、JSONオブジェクトのそれと呼ばれるページ(インデックス)のHTMLデータであります! this postで提案されているようなコミュニケーションの間に何かが起こっていると思います。

答えて

1

あなたの代わりに$httpサービスのサーバーからデータをフェッチするためにjQueryのを使用し、しかもsuccess機能が非同期で実行されると、AngularJSはちょうど$applyに割り当てるラップ、それを強制するために、起こったすべての変更を反映しません。

function loadEmployees() { 
    $.ajax({ 
     url: "/AWEmployee/Index/GetEmployees", 
     method: "GET", 
     success:function (response) { 
      $scope.$apply(function(){ 
       $scope.employees = response["Name"]; 
      }); 
     } 
    }); 
} 
+0

あなたが述べたように$ scope.applyでラップしようとしましたが、まだそれを解決しませんでした。エラーコールバックオプションを追加して、呼び出された場合に警告し、それを行いました。だから私は質問の編集で述べたようにすることにしました。 – Luv2Learn

関連する問題