【问题标题】:angular - get data from server角度 - 从服务器获取数据
【发布时间】:2017-06-05 12:45:21
【问题描述】:

我是 angularJS 的新手(昨天开始学习)。 我正在尝试从服务器获取数据。 curl 命令完美运行:

curl -i 175.36.8.90:5000/todo/api/v1.0/tasks

(它对你不起作用,因为这不是服务器的真实 IP)。

如何使用angular 获得相同的结果?

我找不到任何东西 - 可能是因为我对这个主题太陌生,以至于我什至不知道要搜索正确的术语。

【问题讨论】:

  • 在 docs 网站上学习教程
  • 谢谢@charlietfl,因为我不需要你。我说我找了,没找到。如果你来这个网站只是为了看不起那些经验比你少的人,那我不知道该告诉你什么......
  • 但是几乎每个基础教程都使用服务器端请求来获取数据
  • @charlietfl 但我没找到……我想我不够聪明。

标签: angularjs curl get


【解决方案1】:

我正在使用这段代码并且非常适合我:

var MyApp = angular.module('MyApp'); 
MyApp.factory('DB_Services', ['$http' , '$q' , function($http , $q) {
    var l_Result ;
    var DB_Services = function(p_URL_Root , p_Query) {
        var l_deferred = $q.defer();
        var l_params   = JSON.stringify(p_Query) ;
        var l_url      = "http://localhost:8080/BLABLA/BLABLA_2";
        var req = { url    : l_url, 
                    method :"GET", 
                    timeout:10000 , 
                    headers: { 
                        'Content-Type': 'application/json ; charset=UTF-8'
                    }, 
                   params:{request:p_Query}
                  } ;
        $http(req ).
                    success(function(data, status, headers, config) {
                         l_deferred.resolve({Server_Response:data , Server_Status: status});
                    }).
                    error(function(data, status, headers, config) {
                         l_deferred.resolve(status);
                    });
                    return l_deferred.promise;
        return l_deferred.promise;
    } ;

    return DB_Services;

}]);

编辑

我应该补充一点,这段代码接近了一个 SERVLET,后者又访问了数据库(我猜你不打算从客户端直接访问数据库,对吧?)。

【讨论】:

  • 不要使用deffered promise anti-pattern! ...$http 已经返回了一个承诺。 successerror 也已弃用。同样 ContentType 标头在 GET 上毫无意义 ..没有请求内容
  • 亲爱的@charlietfl,我猜你和我带来了不同的体验......你显然大部分时间都在使用 JavaScript + AngularJS 进行开发,因此对它有如此深入的了解(并且,有时间以及从 A 到 Z 阅读手册的动机)。我,我一部分时间花在管理其他开发人员上,一部分时间同时用多种语言进行自己的开发,因此显然无法达到与您相同的 AngularJS 熟练程度。这就是为什么这个论坛存在,让像你这样的专家帮助像我这样的人。干杯!!
  • 使用then() ... return $http.get(url, {params: ..).then(function(resp){ return resp.data;})
猜你喜欢
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多