asp.net - Angular.js 从 ASP.NET Controller 简单获取对象

标签 asp.net json angularjs

自从我上次查看 Angularjs 以来已经有一段时间了。我有一个简单的 get,它调用 ASP.NET Controller 并返回一个 Json 对象 - get 被触发,但 View 上没有填充任何内容。 Json 对象显示在浏览器中,因此它纯粹是 JS Angular 的东西。我知道我错过了一些简单的东西,但我不能完全指出它。如果有人能好心地展示我所缺少的东西,最好用一个例子,那就太好了。我还没找到一个类似的简单例子。

Angularjs。

var ngCurrent = angular.module("ngCurrent", ['ngResource']);
var ctrCd;
// Declaring a Service
ngCurrent.factory("CurrentService", function ($resource) {
    return {
        data: $resource("/Current/Data/:id")
    }
});

ngCurrent.controller("CurrentController", function ($scope, CurrentService) {
    $scope.current = CurrentService.data.get({ "id": id}, isArray = false);
});

在 CSHTML View 中(精简但包含所有相关行)

<div ng-app="ngCurrent" class="row">
    <div ng-controller="CurrentController" class="col-md-1"></div>
        <div class="row">
            <span class="col-sm-2">{{current.RecordName}}</span>

它运行时会触发 Controller 的“获取”,但不显示任何数据,并且 $scope.current 不包含任何对象。

我尝试过 JSFiddling,但没有成功,这里是 http://jsfiddle.net/Mark_Dete/Lfy66re1/1/

(注意 Json 模拟基于 http://jsfiddle.net/ExpertSystem/6PYsq/ )

最佳答案

您可以从您的服务中返回一个 promise ,例如:

    return $http({
      url: '/api/v1/service/',
      method: "GET",
      headers: {'X-API-TOKEN': api_key },
      params: _params
    })

然后在 Controller 中的 http 对象(从服务返回的对象)上使用 promise 回调

$scope.getApiData = function(){
  Service.getData($scope.api_key)
  .then(function(_data) {
    console.log(_data.data); 
    $scope.data_obj = _data.data;
  });

这是一个没有服务抽象的一体化版本,但它应该可以用于测试。

 $scope.getApiData = function(){
  $http({
      url: '/api/v1/service/',
      method: "GET",
      headers: {'X-API-TOKEN': api_key },
      params: _params
   })
  .then(function(_data) {
    console.log(_data.data); 
    $scope.data_obj = _data.data;
  });

确保记得注入(inject) $http 依赖项!

关于asp.net - Angular.js 从 ASP.NET Controller 简单获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30519958/

相关文章:

c# - 不能为负数并避免在文本框中输入字母

使用 JSON Adventure 将 Javascript 数组转换为 Java 数组

objective-c - 排序 JSON 对象

javascript - 使用 AngularJS 将 JSON 数据保存到服务器 - 在页面刷新时消失

javascript - AngularJS 文件浏览器

javascript - 类型错误:Users.create 不是函数

javascript - 在窗口大小调整时调整 html 元素的大小

asp.net - 为什么Application_Start在Cassini中运行但在IIS7中不运行?

c# - 在代码隐藏中为网格中的复选框分配一个值

javascript - 如何多级迭代 JSON?