Angular.js从ASP.NET控制器简单获取对象

Angular.js从ASP.NET控制器简单获取对象,asp.net,json,angularjs,Asp.net,Json,Angularjs,自从我上次看Angularjs已经有一段时间了。我有一个简单的get,它调用ASP.NET控制器并返回一个Json对象——get被触发,但视图上没有填充任何内容。Json对象显示在浏览器中,因此它纯粹是一个JS对象。我知道我遗漏了一些简单的东西,但我不能完全确定。如果有人愿意用一个很好的例子来说明我所缺少的东西。我找不到一个简单的例子,类似的 安格拉斯 var ngCurrent = angular.module("ngCurrent", ['ngResource']); var ctrCd;

自从我上次看Angularjs已经有一段时间了。我有一个简单的get,它调用ASP.NET控制器并返回一个Json对象——get被触发,但视图上没有填充任何内容。Json对象显示在浏览器中,因此它纯粹是一个JS对象。我知道我遗漏了一些简单的东西,但我不能完全确定。如果有人愿意用一个很好的例子来说明我所缺少的东西。我找不到一个简单的例子,类似的

安格拉斯

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视图中(压缩但包含所有相关行)


{{current.RecordName}
它运行时从控制器触发“获取”,但不显示数据和
$scope。当前
不包含对象

我尝试过JSFiddling,但没有成功


(注意,Json模拟基于)

您可以从您的服务中返回承诺,如:

    return $http({
      url: '/api/v1/service/',
      method: "GET",
      headers: {'X-API-TOKEN': api_key },
      params: _params
    })
然后对控制器中的http对象(从服务返回的对象)使用promise回调

这里有一个没有服务抽象的多合一版本,但它应该可以用于测试

 $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;
  });

确保您记得注入$http依赖项

如果查看DevTools/Network,数据是否返回到客户端?更正:数据是从函数返回的。它是一个对象-{}。我能找到的例子似乎是针对Json数组的。我错过了soemthing?尝试了一些变体,但似乎无法进一步了解。我想我错过了一些简单的事情。顺便说一句,这是完整的Javascript,但不知何故,我觉得简单的东西缺失了。你能做一个简单的curl或http请求,并确保你的api/webservice正常工作吗?如果我把Get Url放在浏览器中,我会得到Json。Ie{“RecordName”:“Test”}好酷。。你知道怎么让那个功能启动吗?您可以在按钮元素中执行ng click=“getApiData()”以进行测试。请重试。甚至似乎都没有触发“进入”这个服务器。我不确定我是否也遗漏了什么。但是控制台上没有出现错误。试图对其进行JSFIDLE(上面的编辑)以更好地解释,
$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;
  });