具有正确响应的Angular $ http.jsonp错误回调

时间:2014-09-04 09:00:00

标签: angularjs http jsonp

我遇到Angular $ http的jsonp()函数问题。我试图从外部URL获取一些数据。这是我的代码:

module.factory('Ajax', function($http) {
  $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  return {
    get: function(url, obj) {
      return $http.post(url, obj);
    },
    getJSON: function(url, obj) {
      return $http.jsonp(url, obj);
    }
  }
});

型号:

  factory.getQuote = function(symbol) {
      var q = $q.defer();
      Ajax.getJSON(
        "https://my-url.nl/quote/"+symbol+"/all?callback=parseQuote").then(function(data) {
        console.log(data);
        q.resolve(data);
      }, function(data) {
        console.log(data);
        console.log("Error Promise getQuote user.js");
      });
      return q.promise;
  }
  parseQuote = function(test) {
    if (test.status == "OK") {
      console.log(test[$scope.symbolCode])
    }
  }

它进入回调(parseQuote,并记录我需要的信息),但是,它还记录"错误承诺getQuote user.js",这是错误/失败回调,这是奇数因为我得到了数据。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这是解决方案:

  factory.getQuote = function(symbol) {
      var q = $q.defer();
      Ajax.getJSON(
        "https://my-url.nl/quote/"+symbol+"/all?callback=JSON_CALLBACK").success(function(data) {
        console.log('SUCCES')
        q.resolve(data);
      }).error(function(data) {
        console.log("Error Promise getQuote user.js");
      });
      return q.promise;
  }