0
我想顯示我在ui網格表中使用其餘呼叫檢索到的數據。當我將數據綁定到範圍變量並嘗試在HTML頁面上調用它時,它會給出一個TYPEERROR:typeerror無法讀取未定義的angularjs的屬性「數據」。 我想它無法獲取數據,從而導致錯誤。任何人都可以指導我一下,我到底在下面的代碼丟失:在撥打休息電話後顯示在ui網格中的數據
.controller("widgetCtrl", ["logger", "$scope", "$http", "widgetService", "localizationService",
"gettextCatalog",
function (logger, $scope, $http, widgetService, localizationService, gettextCatalog) {
var myuid;
var myrole;
var locale = localizationService.getLocale();
gettextCatalog.loadRemote("/dashboardplugins/B27F0520-86CF-1033-B9C8-005056A891F8/resources-locale_" +
locale + ".json");
logger.info("WidgetContoller started");
$scope.gridOptions = {};
/**
* load function
*
*/
$scope.load = function() {
widgetService.getData().then(function (response) {
$scope.mydata = response;
$scope.myrole = response.roles[0].split("/").pop();
$scope.myuid = $scope.myuid = response.meta["@href"].split("/").pop();
$scope.gridOptions = {
excludeProperties: "__metadata",
data: [
{
id: $scope.myuid,
name: response.name,
role: $scope.myrole,
state: response.state
}
],
columnDefs: [
{name: "ID", field: "id"},
{name: "Name", field: "name"},
{name: "role", field: "role"},
{name: "state", field: "state"}
],
i18n: [
]
};
});
};
$scope.load();
HTML頁面:
<div ng-Controller="widgetCtrl">
<h1>User Info</h1>
<div ui-grid="gridOptions"></div>
</div>
JSON數據對象:
Object {data: Object, status: 200, config: Object, statusText: "OK"}
config: Object
data: Object
auth-source: "DATABASE"
createdate: "2016-02-10T20:47:48.408Z"
creator: Object
meta: Object
moddate: "2016-02-10T20:47:48.408Z"
modifier: Object
name: "admin"
perms: Object
roles: Array[1]
state: "ACTIVE"
sys: false
tenant-id: 1
tenant-name: "default"
__proto__: Object
headers: (name)
status: 200
statusText: "OK"
__proto__: Object
謝謝!添加$ scope.gridOptions = {};幫助拋出未定義的數據錯誤。但是數據仍然沒有得到顯示。你認爲Json對象的不一致結構可能是原因嗎? – user2128
很難知道,如果不知道你返回的JSON數據是什麼樣的......你上面顯示的不是JSON,但你應該可以通過'response.data.data'訪問它。你可以創建一個plunker或添加JSON數據到你的問題?無論如何,你可以將數據按摩到一旦你在客戶端擁有它就會顯示出來。 –
是的,我做了一些改變,數據正在顯示。但我對我的代碼不滿意。我通常不喜歡這種硬編碼的方法。 – user2128