2016-03-29 20 views
-2

Merhaba (get yöntemi ile 5n çalışıyor) sonrası yöntemiyle benim json dosyasından verileri kod hakkında

'use strict'; 
angular.module('myapp').controller('lastWeekWinners',function($http){ 
    var vm= this; 
    $http.post('http://localhost:9000/json/sample.json').then(function(data){ 
     vm.winnerData=data.data.data; 
    },function(error){ 
     console.log(error); 
    }); 
}); 

hatayı

enter image description here vermek almak istiyorum araçlar, verileri tüm

+0

Önce bunu okuyun: https://docs.angularjs.org/api/ng/service/$http – NMSL

+1

Denetleyicilerde $ http çağrılarını kullanmayın, bu tür konularda hizmetler kullanın. –

+0

API'niz POST'u desteklemiyor mu? 402 hatası veriyor – S4beR

cevap

0

Birincisi, gET/POST arasındaki fark almak için yazılan yöntemini kullanamaz

:

Veri almak için GET kullanılır, POST, verilerin kaydedilmesi (ve bazen güncellenmesi) için kullanılır. Yani sadece jsonu almak istiyorsan, GET'i kullan.

Burada belirttiğiniz sorunla ilgili olarak, dikkatlice bakarsanız, 404 kodu alırsınız. Bu rota bulunamadı anlamına gelir. (HTTP durum kodu hakkında daha fazla bilgiyi buradan edinebilirsiniz: http://www.restapitutorial.com/httpstatuscodes.html)

Hangi sunucuyu kullandığınızdan emin değilsiniz, ancak genellikle yalnızca bir rota değil, aynı zamanda rotanın fiilini de belirlersiniz (GET/POST/PUT /) SİL, böylece bir rota varsa şu şekilde tanımlanırlar:/

gET/kullanıcılara

Eğer 404 alırsınız aynı rota için yayınlamaya çalışan Bu sadece, gET istekleri için çalışacak POST fiili için aynı rotayı tanımlamanız gerekir.

Burada http fiilleri hakkında daha fazla bilgi edinebilirsiniz:

'use strict'; 
angular.module('myapp').controller('lastWeekWinners', controller){ 

function controller($scope,fetch){ 
    var vm= this; 
    vm.show = show; 
} 
function show() { 

     return fetch.show() 
     .then(function successCallback(data){   

      vm.winnerData = data; 
     } 
     }, function errorCallback (response) { 
      console.log(response.statusText); 
     }); 
    } 

}); 

ve hizmetinde:

angular 
    .module('service',[]) 
    .service('fetch', Service); 
function Service($http) { 
    var fetch = {  
     show : show 
    } 
    return fetch; 
    function show() { 
     return $http.get('http://localhost:9000/json/sample.json') 
     .then(getShowComplete) 
     .catch(getShowFailed); 

     function getShowComplete(response){ 
      return response.data; 
     } 
     function getShowFailed(error){ 
      console.log("Error:" + error); 
     } 
    } 
0

Bu u denetleyicisi sonrası yöntemini kullanabilirsiniz nasıl $http.post'u yapmak için bir arka uç API'sine (PHP, Node Js vb.) Ihtiyacınız vardır, bu sistem istediğiniz posta verilerini yakalar ve db veya JSON (Okuma/Yazma Yöntemi) içine kaydedilir. Statik JSON verileri sadece okunabilir değil, sadece yazılabilir. Veya verileri kaydetmek için Tarayıcıyı $window.localStorage kullandı.

+0

Veriyorum: '' çünkü almak istediğim bir json dosyası. –

+0

, Verileri ALMAK istiyorsanız, bir açısal hizmet ve Get Metodu kullanın! – Hansanho

+0

güncellendi! – Hansanho