У меня есть простой сервер RESTful с Flask
, и мне нравится делать простой клиент с AngularJS
, используя ngResource
. Идея состоит в том, чтобы сделать GET сервером и получить json-файл.Угловой клиент REST ngResource не может получить json
Это мой services.js
var IpZapServices = angular.module('IpZapServices', ['ngResource']);
IpZapServices.factory('Plug', ['$resource', function($resource) {
return $resource('http://localhost:8003/api/plugs/:id',
{id : "@id"}, {
query: {method: 'GET', params: {}, isArray: false}
});
}]);
И controllers.js
var IpZapControllers = angular.module('IpZapControllers', []);
IpZapControllers.controller('PlugListCtrl', ['$scope', 'Plug', function($scope, Plug) {
$scope.plugs = Plug.query();
console.log($scope.plugs);
}]);
Но, я не получаю файл JSon, получите это:
Object { $promise: Object, $resolved: false }
Почему? Что я делаю неправильно? Благодаря!
РЕДАКТИРОВАТЬ:
Это сырье ответ, который I получения от сервера.
{"plugs": [
{"alarm": [],
"id": 0,
"name": "Plug 0",
"state": false},
.
.
.
{"alarm": [],
"id": 3,
"name": "Plug 3",
"state": false}
]}
EDIT 2: Решение
Проблема заключается в сервере. Просто добавьте на сервер Flask-CORS и работайте!
from flask.ext.cors import CORS
app = Flask(__name__)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
Решение от this question
Что вкладка Сеть инструментов разработчика говорит? Я бы посмотрел необработанный ответ, который вы получили – Mat