2016-08-19 32 views
0

我試圖通過應對來自JSON鏈接的數據作爲對象以下代碼。一切都很好。但是當我真的從服務器遠程檢索它並進行測試時,似乎我無法將它顯示在列表中。有人可以幫忙嗎? 我想列出home.html頁面上的標題,圖片和作者。感謝任何人都可以提供幫助。仍在努力學習。離子獲取遠程JSON數據

我試過得到其他JSON $ http.get('https://jsonplaceholder.typicode.com/posts'),它的工作。但是對於我來說,這個特殊的理解有點難以理解,爲什麼它不能正確解析。爲了使代碼正常工作,我需要在我的電話上使用它才能工作。我可以看到正在下載並警告的JSON。但是,我不知道爲什麼仍然沒有看到數據。

請參閱我的代碼如下。 http://codepen.io/ccrash/pen/VjNPkv

的Home.html

<ion-view view-title="Dashboard"> 
    <ion-content class="padding"> 
    <h2>Ionic GET Json Example</h2> 
     <ion-item ng-repeat="x in result[0].data.items"> 
     <div> {{x.title}} </div> 
     <div> {{x.image[0]}} </div> 
     <div> {{x.author}} </div> 
    </ion-item> 
    </ion-content> 
</ion-view> 

控制器

.controller('HomeCtrl', function($http, $scope, $ionicSideMenuDelegate) { 

    $http.get('http://www.malaysiakini.com/c/en/news?alt=json') 
    .success(function(data, status, headers,config){ 
     //console.log('data success'); 
     //console.log(data); // for browser console 
     alert(JSON.stringify(data)); 
     $scope.result = data; // for UI 
    }) 
    .error(function(data, status, headers,config){ 
     console.log(headers); 
     console.log('data error'); 
    }) 
    .then(function(result){ 
     things = result.data; 
    }); 

}) 

回答

0

這是一個常見的問題。我看到在瀏覽器控制檯錯誤:

error log

它通常是因爲你的要求比你的頁面不同的域上,瀏覽器會阻止你的安全考慮請求。根據我的經驗,您可以使用jsonp作爲請求數據類型,或者將Access-Control-Allow-Origin標頭添加到服務器的響應中。

查看this question瞭解更多信息

+0

嗨...我不是指這個錯誤。我嘗試了我的手機上的代碼,它能夠下載JSON,但在此之後,它無法解析並顯示 – Jsmidt

+0

我已嘗試在手機上打開您的codepen,下載並運行localhost,它總是在回答中顯示相同的錯誤。那麼重現錯誤的正確方法是什麼? – Max

+0

嗨,當我在我的手機上運行它,我做了一個http請求,並做了一個JSON.stringify(數據)和警報。請參閱此處張貼的圖片。 https://postimg.org/image/e6un86h1l/ – Jsmidt