2017-05-30 24 views
0

私はangularjsで$ httpのgetメソッドを使いたいと思います。選択したプレイヤーが選択に接続され、正常に動作します。私は同じ結果でhttp.getも試しました。私は最初の警告を得るが、後は何もしない。私はそれを手動で到達した場合、私は結果が罰金を取得(http://localhost:63991/api/Player/Thiagoなど)Angularjs http getとC#apiコントローラの問題

//GET: api/Player/Özil 
     [Route("api/player/{playername}")] 
     public Player Get(string playername) 
     { 
      DataClasses1DataContext db = new DataClasses1DataContext(); 
      IEnumerable<Player> playerlist = db.Players.Where(x => x.Name.Equals(playername)).AsEnumerable(); 
      int cardcounter = playerlist.Count(); 
      int chance = 0; 
      Random rng = new Random(); 
      if (cardcounter>1) 
      { 
       chance = rng.Next(0, cardcounter - 1); 
      } 
      return playerlist.ElementAtOrDefault(chance); 

     } 

   $scope.selectedplayer; 
       $scope.playerdata = [];     
       $scope.getPlayerData = function() { 
        alert("function started");     
        return $http({ 
         url: '/api/Player/' + $scope.selectedplayer, 
         method: "GET"}) 
         .succes(function (data) { 
          alert("succes"); 
          $scope.playerdata = data; 

         } 


).error(function(data){alert("error")}      
       );; 
       alert("other"); 
      } 

そして、私のコントローラ:私はこの(私たちの先生が何をしたかの基本的コピー)を持っています。私はFIFAの究極のチームカード(ID、名前、評価)を含むデータベースを持っています。プレーヤーは異なる属性を持つ複数のカードを持つことができます。私の目的は、プレイヤーを選んで(Özilと言ってみましょう)、結果として彼のカードの1枚を取り戻すことです。

+0

まず、問題を正しくデバッグします。ブラウザコンソール(Chrome/FfのF12)をオンにして、実際にサーバーに送信されたリクエストを確認してみます。 または、作成したURLをローカル変数に保存し、コンソールに表示してそこにあるものを表示しようとする場合があります。結論 - 問題の原因を突き止める。 –

答えて

0

機能を.successに変更しようとしましたか?これは助けになるはずです。

+0

私はそれを.then(function(succes){})に変更しました。タイ –