是否可以从transformResponse
函数获取资源参数?
demoApp.factory('Social', function($resource) {
return $resource('api/social/:platform', {
platform: '@platform'
}, {
getAdmin: {
method: 'GET',
isArray: false,
transformResponse: function(resp) {
// so, can i get `platform` in line 3 from here?
return resp[platform];
}
}
});
});
如上面的代码所示,我可以从platform
函数中获取参数transformResponse
吗?
答案 0 :(得分:2)
'@ platform'作为参数意味着您将'获取'uri'api / social /',并将返回对象'platform'参数的值放入存储。
当调用资源的剩余非get函数时(默认情况下为'save','remove','delete'),$ resource将通过将':platform'替换为先前保存的值来修改url。
因此,由于您处于get请求中,因此您可以完全按照指定的方式获取参数。
transformResponse: function(resp)
{
// so, can i get `platform` in line 3 from here?
console.log(resp.platform); // Yes you can
return resp[platform];
}
但是,由于返回的数据现在是resp.platform,url参数被设置为resp.platform.platform ...可能不是你想要的,我猜测什么不适合你的来源