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