我有一个文件名数组:
[HttpPost]
public JsonResult GetJSONFilesList()
{
string[] filesArray = Directory.GetFiles("/UploadedFiles/");
for (int i = 0; i < filesArray.Length; i++)
{
filesArray[i] = Path.GetFileName(filesArray[i]);
}
return Json(filesArray);
}
我需要在 AngularJS 中将此作为对象列表,以便我可以重复它并应用过滤器。我无法弄清楚如何将 JSON 从 MVC 控制器获取到 AngularJS。
我已经尝试了以下方法使其对视图可见以获取角度,但我不知道如何让 ng-init 看到返回列表的函数。它在“SerializeObject(GetJSONFilesList())”上出错,说它在当前上下文中不存在。
<div ng-controller="MyController" data-ng-init="init(@Newtonsoft.Json.JsonConvert.SerializeObject(GetJSONFilesList()),
@Newtonsoft.Json.JsonConvert.SerializeObject(Model.Done))" ng-cloak>
</div>
编辑: 我试过使用 http.get。
测试一:
alert('page load');
$scope.hello = 'hello';
$http.get('http://rest-service.guides.spring.io/greeting').
then(function (response) {
$scope.greeting = response.data;
alert($scope.greeting);
});
alert($scope.hello);
http.get 中的警报永远不会触发,但是其他警报会触发。
测试二:
$http({
url: '/Home/testHello',
method: 'GET'
}).success(function (data, status, headers, config) {
$scope.hello = data;
alert('hi');
});
[HttpPost]
public string testHello()
{
return "hello world";
}
这会导致 angular 中断并且 .js 中的任何内容都不起作用。
互换的青春
相关分类