使用$resource从AngularjJ中的flaskapi获取数据

2024-04-26 18:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是flaskrestapi,其中有一个方法,我使用$resource factory从AngularJS调用。你知道吗

我现在用数据来尝试,这是服务器中的简化代码:

return jsonify({'teacher': 'Tom'})

在AngularJS中,在我想要获取数据的控制器中:

var teacher = $resource('http://localhost:8001/entities/teacher/:id');

teacher.get({id: 1}).$promise.then(function(teacher) {
               // success
               $scope.teacher = teacher;

            }, function(errResponse) {
               // fail
               console.log('fail')
               console.log(errResponse)
            });

这是登录web浏览器控制台:

fail 
Object { data: null, status: -1, headers: fd/<(), config: Object, statusText: "" }

但是我可以在网络控制台中看到请求,数据以200状态码响应,因此我认为我不知道如何从$resource response读取此数据,我已经搜索了有关此的信息,但我不知道如果我可以看到数据,资源将给我一个失败错误。你知道吗

你知道吗?你知道吗

我知道我应该把这段代码放在另一个文件的服务中,这只是找到解决方案的一个示例。你知道吗

谢谢!你知道吗

更新: 我认为问题出在我从服务器收到的头文件中。如果我尝试将$http与一个url一起使用,我发现这是一个很好的例子,但是当我在自己的服务器上尝试相同的方法时,即使我可以看到响应(在网络控制台中也可以,在curl测试中也可以),我想问题出在头中,也许$http或$resource需要一个特定的头。我已经更新了原来的问题,希望有人能帮我。我确信响应是application/json。你知道吗

这是测试url: http://jsonplaceholder.typicode.com/users 返回的标头为:

缓存控制
公共,最大年龄=14400 内容编码
gzip公司 内容类型
应用程序/json;字符集=utf-8 日期
2016年10月3日,星期一,格林尼治标准时间07:43:11 Etag
W/“160d-MxiAGkI3ZBrjm0xiEDfwqw” 到期 2016年10月3日星期一11:43:11 GMT 杂注
无缓存 服务器
cloudflare nginx公司 变化
接受编码 通过 1.1织女星 X-Firefox-Spdy
氢气 X供电
快车 访问控制允许凭据
是的 cf缓存状态 击中 cf射线
2ebec303f9f72f7d疯狂 x内容类型选项
诺斯尼夫

我的标题是:

缓存控制
无缓存 内容长度
35 内容类型
应用程序/json 日期
2016年10月3日星期一08:26:00 GMT 到期 1990年1月1日星期五00:00:00 GMT 链接
服务器
开发/2.0

我使用的是googleappengine开发者服务器(我不知道这是否相关)。你知道吗


Tags: 数据方法代码服务器idjsonhttp类型