2017-08-01 143 views
2

爲什麼這不拉回任何東西?我不斷收到錯誤消息,我無法弄清楚原因。我試圖在響應數據上使用JSONParse並將其重新分配給$ scope,但這並沒有幫助。我在我的F12控制檯中沒有錯誤。我知道JQuery是一個更好的解決方案,但我更喜歡Javascript,但我會採取兩個。提前致謝。

var controlSeletor = angular.module('moduleName', []); 
controlSeletor .controller('variableController', function($scope, $http) { 
    $http.get("data.json") 
    .then(
    function(response) { 
    // Success 
    $scope.variable = response.data; 
    }, 
    function(response){ 
    // Error 
    alert("Error!"); 
    } 
); 
}); 

的JSON是一個單獨的文件,看起來像這樣:

[{ 
    "url": "place.html", 
    "name": "Bob", 
    "pic": "bob.jpg" 

}, 
{ 
    "url": "place.html", 
    "name": "Mike", 
    "pic": "mike.jpg" 

}, 
{ 
    "url": "place.html", 
    "name": "Tony", 
    "pic": "tony.jpg" 
}]; 
+0

調試101提示:看到你的代碼做這個'功能(響應){// 錯誤 警報(」錯誤!」); }'...爲什麼不'console.error(response);' - 那麼你可以看到錯誤是什麼! –

+0

'JSON是一個單獨的文件,看起來像這樣 - '它實際上並不是[有效的JSON](http://www.json.org/),因爲這個關鍵字沒有包含在'「中......」 –

+0

謝謝提醒我關於console.error(響應); – JMizzle

回答

0

您的JSON是無效的,如下改變它,

[{ 「URL」:「 「」, 「name」:「Bob」, 「pic」:「bob.jpg」},{ 「url」:「place.html」, 「name」:「Mike」, 「pic 「: 「mike.jpg」},{ 「URL」: 「place.html」, 「名」: 「託尼」, 「PIC」: 「tony.jpg」}]

var app = angular.module('filterApp', []); 
app.controller('myCtrl', function($scope, $http) { 
    $http.get('data.json'). 
    then(function(response) { 
    $scope.variable = response.data; 
    }); 
}); 

DEMO

+0

謝謝你的工作! – JMizzle

+0

請標記爲答覆 – Sajeetharan

0

幾點意見:

  • 控制器的聲明是不正確的。它應該是controlSeletor.controller而不是controlSeletor .controller。您的JSON不是valid JSON

enter image description here

有效JSON應該是這樣的:

enter image description here

+0

我在發佈問題時意外放置的空間。感謝JSON的建議。現在都很好 – JMizzle

+0

@JMizzle如果這個答案可以幫助你將它標記爲正確的,那麼它也會對其他人有幫助。 –