我想在angularjs中使用$ http的get方法。我选择的播放器连接到选择并正常工作。我也尝试了与同样的结果http.get。我得到第一个警报,但没有任何事。我有这样的(基本上是什么我们的老师做副本):Angularjs http get和C#api控制器问题
$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");
}
而且我的控制器:
//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);
}
如果我手动达到目标(如http://localhost:63991/api/Player/Thiago)我得到的结果很好。我有一个包含FIFA终极队卡的数据库(他们的ID,名字和评级)。玩家可以拥有不同属性的多张牌。我的目标是选择一名球员(比如Özil)并因此获得他的一张牌。
首先,正确调试您的问题 - 尝试打开浏览器控制台(chrome/ff中的F12)并查看实际发送到服务器的请求。 或者您可能尝试将您创建的URL存储到某个局部变量中,并将其打印到控制台以查看其中的内容。底线 - 确定问题的根源。 –