使用$ http.post检索数据

时间:2016-03-29 14:08:36

标签: angularjs http

您好我想使用post方法从json文件中获取数据(使用get方法工作5n)

long ms = xxxxx;

关于代码是错误的

enter image description here

这意味着我们不能使用post方法来获取数据

3 个答案:

答案 0 :(得分:0)

首先,GET / POST之间的区别:

GET用于获取数据,POST用于保存(有时更新)数据。所以,如果你只想获得json,请使用GET。

关于此处遇到的具体问题,如果仔细查看,则会收到404代码。这意味着找不到路线。 (您可以在此处阅读有关HTTP状态代码的更多信息:http://www.restapitutorial.com/httpstatuscodes.html

不确定您使用的服务器,但通常情况下,您不仅要定义路由,还要定义路由的动词(GET / POST / PUT / DELETE),因此如果您的路由定义如下:

  

GET / users /

这仅适用于GET请求,如果您尝试发布相同的路由,您将获得404.您必须为POST动词定义相同的路由。

您可以在此处详细了解http谓词:http://www.restapitutorial.com/lessons/httpmethods.html

答案 1 :(得分:0)

这是你在控制器中使用post方法的方法:

    '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);
      }); 
  }

});

并在您的服务中:

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);
        }
    }

答案 2 :(得分:0)

要做$http.post你需要一个后端API(PHP,Node Js等),该系统会捕获你想要的后期数据并保存到db或JSON(读/写方法)中。 只读的静态JSON数据可能不会写。

或使用浏览器$window.localStorage保存数据。