2016-06-28 98 views
0

我是一個完整的初學者與前端編程;然而,我在後端c#(非網絡的東西)經驗豐富。無法獲取web api json響應的內容,返回空白

我有2個視覺工作室開放。一個是提供web api,另一個正在使用web api。

如何從遠程源讀取和顯示json?

當試圖讀取其中一個API時,該頁面沒有顯示任何內容。

我的HTML:

<!doctype html> 
<html ng-app="myApp"> 
<head> 
    <title>Hello AngularJS</title> 

    <script src="Scripts/angular.js"></script> 
    <script src="app.js"></script> 
    <script src="controllers/GbyG.js"></script> 
</head> 

<body ng-controller="GbyG"> 

<table border="1"> 
    <tr ng-repeat="data in greeting"> 
     <td>{{data.FirstName}}</td> 
    </tr> 
</table> 


</body> 
</html> 

GbyG.js

'use strict'; 

app.controller('GbyG', 
     function($scope, $http) { 
      $http.get('http://localhost:36059/api/Samples/GetAllSamplesByStatusUser') 
       .success(function(data) { 
        $scope.greeting = data; 

       }); 
     } 

); 

app.js JSON的

'use strict'; 
var app = angular.module('myApp', []); 

樣品,我正在讀

[{"Sample":{"sampleid":1,"barcode":"129076","createdat":"2015-01-02T00:00:00","createdby":6,"statusid":3},"Status":"Report Generation","FirstName":"Clint","LastName":"Reid"},{"Sample":{"sampleid":2,"barcode":"850314","createdat":"2015-06-15T00:00:00","createdby":7,"statusid":3},"Status":"Report Generation","FirstName":"Kim","LastName":"Mullins"}] 

如何閱讀和從遠程源顯示JSON?

+0

只是檢查'的console.log(數據)'...嘗試'$ scope.greeting = data.data;'..閱讀[__' $ http' __(HTTPS ://docs.angularjs.org/api/ng/service/$http) – Rayon

+0

還添加了錯誤部分,以便在錯誤發生時查看被調用的內容。 .error(?),也可以看看這個來幫助你的api開發,https://www.getpostman.com/它也可以給greta錯誤/響應,如果有任何檢查你的api url是好的 –

+0

控制檯。 log(data)什麼也沒有返回 –

回答

2

參考$http文檔

  • 使用.then處理程序,而不是.success作爲後來被depricated
  • 訪問響應對象data財產,因爲它持有data

'use strict'; 
 
var app = angular.module('myApp', []); 
 
app.controller('GbyG', 
 
    function($scope, $http) { 
 
    $http.get('http://thetraveltemple.com/webservices/fetchCountry.php') 
 
     .then(function(data) { 
 
     $scope.greeting = data.data; 
 
     }); 
 
    } 
 
);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="myApp" ng-controller="GbyG"> 
 
    <table border="1"> 
 
    <tr ng-repeat="data in greeting.countries"> 
 
     <td>{{data.country_name}}</td> 
 
    </tr> 
 
    </table> 
 
</body>

+0

在我的機器上試過這個:http://i.imgur.com/Dxe7did.png並得到這個:http://i.imgur.com/FeYpWtb.png –

+0

你沒有包括你寫的腳本/複製的腳本...從'身體'刪除'ng-app' – Rayon

+0

仍然得到相同的結果http:///i.imgur.com/lOBT4GD.png,http://i.imgur.com/WdQxpqN.png –

1

這裏是plnkr http://plnkr.co/edit/1MkV3qJ7WupKkNlybZNT?p=preview

可以更換其他服務,而不是在tag.json get調用,我序用於測試。

您的JSON應該採用這種格式。

[{ 
    "Status": "Report Generation", 
    "FirstName": "Clint", 
    "LastName": "Reid", 
    "Sample": { 
    "sampleid": 1, 
    "barcode": "129076", 
    "createdat": "2015-01-02T00:00:00", 
    "createdby": 6, 
    "statusid": 3 
    } 
}, { 
    "Status": "Report Generation", 
    "FirstName": "Kim", 
    "LastName": "Mullins", 
    "Sample": { 
    "sampleid": 2, 
    "barcode": "850314", 
    "createdat": "2015-06-15T00:00:00", 
    "createdby": 7, 
    "statusid": 3 
    } 

}] 
+0

感謝您向我介紹plnkr這非常有幫助 –