【发布时间】:2016-03-16 15:31:38
【问题描述】:
我有一个带有 Flask 的简单 RESTful 服务器,我喜欢使用 ngResource 创建一个带有 AngularJS 的简单客户端。这个想法是对服务器进行GET,并获取一个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 }
为什么?我做错了什么?谢谢!
编辑:
这是我从服务器收到的原始响应。
{"plugs": [
{"alarm": [],
"id": 0,
"name": "Plug 0",
"state": false},
.
.
.
{"alarm": [],
"id": 3,
"name": "Plug 3",
"state": false}
]}
编辑 2:解决方案
问题出在服务器上。只需添加到服务器Flask-CORS 即可工作!
from flask.ext.cors import CORS
app = Flask(__name__)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
解决方案来自this question
【问题讨论】:
-
开发者工具的网络标签是什么意思?我会查看您收到的原始回复
标签: javascript angularjs json ngresource