从另一个URL下载数据到Angular

时间:2015-10-19 06:39:16

标签: angularjs http

我是Angular的新手,需要将数据下载到服务中。它适用于本地json文件;但是,很明显你想从另一个URL获取数据,这会产生跨域下载的问题。有办法解决这个问题吗?我需要从这里下载数据http://files.parsetfss.com/c2e487f5-5d96-43ce-a423-3cf3f63d9c5e/tfss-31564b7d-6386-4e86-97c5-cca3ffe988f3-phones.json而不是下面的'phones / phones.json'。

'use strict';

/* Services */

function makeArray(Type) {
  return function(response) {
    var list = [];
    angular.forEach(response.data, function(data) {
      list.push(new Type(data));
    });
    return list;
  }
}

function instantiate(Type) {
  return function(response) {
    return new Type(response.data);
  }
}


angular.module('phonecatServices', []).
  factory('Phone', function($http){
    var Phone = function(data){
      angular.copy(data, this);
    };

    Phone.query = function() {
      return $http.get('phones/phones.json').then(makeArray(Phone));
    }

    Phone.get = function(id) {
      return $http.get('phones/' + id + '.json').then(instantiate(Phone));
    }

    // Put other business logic on Phone here

    return Phone;
  });

这可以放在parse.com的以下查询中(如何编写http请求位以适应Angular。

var query = new Parse.Query("coursesParse");
query.find({
  success: function(results) {
   },
  error: function(error) {
  }
});

1 个答案:

答案 0 :(得分:1)

你可以这样做。

    Phone.query = function() {

    var query = new Parse.Query("test");
    query.find({
      success: function(results) {
          //makeArray(Phone(results));
         for (var i = 0; i < results.length; i++) {
              var object = {
              "age": results[i].get('age'), 
              "carrier": results[i].get('carrier'), 
              "id": results[i].get('id1'), 
              "imageUrl": results[i].get('imageUrl'), 
              "name": results[i].get('name'), 
              "snippet": results[i].get('snippet')
            };
            makeArray(Phone(object));
         }

       },
      error: function(error) {
      }
    });
 }