1
当我在AngularJS应用程序中实例化下面的代码时,我在transformResponse函数(代码底部)中得到了奇怪的数据。我没有从任何控制器调用$ resource函数,只是在浏览器中加载脚本。当加载应用程序时,数据变量(请参阅代码)包含当前部分的HTML 。
这看起来很奇怪。这是它应该的方式吗?
var buddyServices = angular
.module('buddyServices', ['ng','ngResource'])
.factory('Buddy',
function ($resource) { console.log('resource');
return $resource('http://webservice.buddyplatform.com/v1/:service',
{service:'', BuddyApplicationName: 'xxx',
BuddyApplicationPassword: 'yyy'}
);
}
)
.config(function($httpProvider){
delete $httpProvider.defaults.headers.common['X-Requested-With'];
$httpProvider.defaults.transformResponse = function(data) {
console.log(data);
return 'TEST: '+data;
};
});
===编辑===
这对我只是吓倒:$ httpProvider处理所有 http请求,所以页面加载是其中之一。我现在猜测了一下,但似乎很可能。那么,问题就变成了:是否有一种“简单”的方法来将上述代码中的数据限制为仅由我的服务执行的请求?
虽然我没有在标题之后。我在响应*数据*之后。在某些情况下,我希望能够保持原样。我只想在我打电话给我的功能时发生这种情况。 –
头部Content-type可用于区分html内容,json内容或xml内容。如果服务调用正在返回json数据或xml数据,则可以很好地为内容类型设置一个过滤器,因为html partials会返回content-type text/html – Chandermani