我有一个 MVC 应用程序,它带有一个名为 Angular 的控制器(我也使用 AngularJS),它有一个名为 GetQuestion 的操作。该操作返回一个看起来像这样的 JsonResult(从 Chrome 中获取):
{"game":{"Title":"Diablo III","ImgPaths":["d31.jpg","d32.jpg"]},"Answers":["Diablo III","World of Tanks","Need for Speed"]}
我的 JS 函数是这样的:
var request = $.ajax({
url: "/Angular/GetQuestion",
dataType: "json",
type: "post",
success: (function (data) { alert(data); })
});
但不是我上面写的 Json,警报窗口只显示 [object Object]
更新
好的,已经解决了,谢谢。但是,正如您可能怀疑的那样,我的目标不是在警报框中显示这些数据,而是以某种方式使用它。所以这是我在 Angular 中的控制器
函数 QuestionCtrl($scope) {
var request = $.ajax({
url: "/Angular/GetQuestion",
dataType: "json",
type: "post",
success: function (data) {
$scope.answers = JSON.stringify(data.Answers);
$scope.imgPath = JSON.stringify(data.game.ImgPaths[0]);
}
});
}
然后是视图:
<div ng-controller="QuestionCtrl">
<img class="quizImage" src="~/Gallery/{{imgPath}}"/>
@using (Html.BeginForm("Answer", "Angular", FormMethod.Post))
{
<p ng-repeat="answer in answers"><input type="radio" name="game" value="{{answer}}"/> {{answer}}</p>
<p><input type="submit" value="Answer"/></p>
}
</div>
我既没有形象,也没有问题。如果我在控制器中对它们进行硬编码,那就没问题了。