javascript – Angular $资源JSON回调不起作用 – 这是最佳做法吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Angular $资源JSON回调不起作用 – 这是最佳做法吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1540字,纯文字阅读大概需要3分钟。
内容图文
我正在创建一个资源,将数据传递给我的控制器,用于需要挂钩的现有api.不幸的是,我无法修改后端.
我的资源工厂目前看起来像这样:
‘使用严格’;
angular.module('XXX')
.factory('elements', function (
$resource
) {
return $resource('http://XXX/api/v1/elements/:id',
{
callback: 'JSON_CALLBACK',
id: '@id'
},
{
query: {
method: 'JSONP',
params: {
id: '@id'
}
},
all: {
method: 'JSONP',
params: {}
}
}
);
});
elements.query()工作正常,但不幸的是,elements.all()不起作用.我注意到在我的网络选项卡中返回的内容中,以angular.callbacks._2([{… DATA …}])开头 – 这对我来说似乎不对.
UPDATE …..
好的,所以我得到了它:
angular.module('XXX')
.factory('element', function (
$resource
) {
return $resource('http://XXX/api/v1/elements/:id',
{
id: '@id',
callback : 'JSON_CALLBACK',
},
{
query: {
method: 'JSONP',
params: {
id: '@id'
}
},
all: {
method: 'JSONP',
isArray: true,
params: {
callback : 'JSON_CALLBACK',
}
}
}
);
});
然而它返回到控制台的json以数组形式出现..我能够解析它以供使用,但现在只是想知道这是否是最佳实践?
解决方法:
这就是艾瑞的意思.
您需要isArray标志,因为angular必须在发送请求之前创建一个空对象 – 在本例中为Array.所以所有绑定都可以,因为你有相同的参考.在结果到达时,它将填充到您的变量结果对象/数组中.
我们正在做这样的服务电话,也许它会帮助你:
.factory('Person', function($resource, AppConfig) {
var Person = $resource(AppConfig.remoteURL + '/person/:id', {}, {
query: {method:'GET'},
queryAll: {method:'GET', isArray: true},
create: {method:'POST'},
update: {method: 'PUT'}});
return Person;
});
并称之为:
Person.queryAll(function (result) {
angular.isArray(result); // should be true
}, function (error)
{
//doh!
}
内容总结
以上是互联网集市为您收集整理的javascript – Angular $资源JSON回调不起作用 – 这是最佳做法吗?全部内容,希望文章能够帮你解决javascript – Angular $资源JSON回调不起作用 – 这是最佳做法吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。