Angular $ http不会发送任何数据

时间:2016-05-29 19:26:33

标签: angularjs

我正在尝试使用angular $ http服务来发送一个对象,但是当我检查网络选项卡的请求时,没有数据属性(虽然有请求),这意味着,数据从未提交过。

我已经制作了数十个基于API模型的应用程序,并且从未遇到过发送$ http请求的任何问题。

最好的问候

这是我的代码:

$scope.getMultipleTimesService = function () {
            var defer = $q.defer();
            $http({
                method: 'GET',
                data: {'times': ["1", "2"]},
                dataType: 'json',
                url:  'http://api.domain.com/times'
            }).then(function successCallback(response) {
                defer.resolve(response);
            }, function errorCallback(response) {

            });

            return defer.promise;
        };

2 个答案:

答案 0 :(得分:1)

您无法使用GET HTTP方法发送请求正文。如果您需要正文,请使用POST

但是,如果要传递查询参数,则应使用params选项传递查询字符串的数据。

$scope.getMultipleTimesService = function () {
            var defer = $q.defer();
            $http({
                method: 'GET',
                params: {'times': ["1", "2"]},
                url:  'http://api.domain.com/times'
            }).then(function successCallback(response) {
                defer.resolve(response);
            }, function errorCallback(response) {

            });

            return defer.promise;
};

答案 1 :(得分:0)

使用此风格:

$scope.getMultipleTimesService = function(){
 var deferred = $q.defer();
    $http.post('http://ursampleurl.com',{'time': ['t1','t2']} )
          .success(function (data, status, headers, config) {
            deferred.resolve(data);
            return deferred.promise;
          })
          .error(function (data, status, headers, config) {
            console.log('some error')
          })
        return deferred.promise;
    }