Angular $ http.jsonp或在移动设备上返回404

时间:2014-09-10 17:21:53

标签: javascript json angularjs http ionic-framework

我从我在本地存储的文件中提取JSON。当我在浏览器中查看它时,它可以工作,当我在一个Ionic打包应用程序中查看它时,它返回404

我使用以下代码:

.factory('cardFactory', function ($q, $http, $rootScope) {
  return {
    getCards: function () {

  var deferred = $q.defer(),
    httpPromise = $http.jsonp('/static/cards.json');

  httpPromise.then(function (response) {
    deferred.resolve(response);
  }, function (error) {
    console.error(error);
  });

  return deferred.promise;
}
};

});

并且这样称呼它:

  cardFactory.getCards()
  .then(cardSuccess, cardError);

我尝试使用GET而不是JSONP,都返回404响应。

我知道access-control-allow-origin问题,但jsonP肯定应该解决这个问题? 这与我的图像处于同一级别(层次结构),这些图像很好。

任何想法发生了什么?

1 个答案:

答案 0 :(得分:-1)

解决方案是将请求更改回简单的GET,并丢失第一个斜杠:

var httpPromise = $http.get('static/cards.json');