根据文档,您为资源指定了一个自定义操作,该操作可以覆盖默认行为,即将响应从 json 转换为 javascript 对象。transformResponse 函数的“数据”参数将包含您的文本有效负载。
在这种情况下,transformResponse 方法返回一个包含字符串的对象,而不仅仅是字符串本身,否则它仍会尝试将字符串转换为数组。
var Stub = $resource('/files/:filename', {}, {'getText': {
transformResponse: function(data, headersGetter, status) {
return {content: data};
}
}});
要使用资源调用您的自定义 getText() 操作而不是普通的旧 get():
Stub.getText({'filename': 'someFile.txt'}, function(response) {
console.info("Content of someFile.txt = " . response.content);
});
这是一个旧帖子,但我认为它应该得到一个新的答案。