如何在 AngularJs 工厂内的多个 $resources 中设置 headers
How to set headers in multiple $resources inside factory in AngularJs
我尝试将自定义 header 添加到我的 request.But 中,当我添加时出现以下错误并且我的 REST 调用没有执行。
控制台错误
SyntaxError: Unexpected token M
at Object.parse (native)
at fromJson (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js:1231:14)
at defaultHttpResponseTransform ...
示例代码片段
var testModule = angular.module(
'test',
[ 'ngAnimate', 'ngTouch', 'ui.grid', 'ngResource', 'ngLoadingSpinner',
'ui.grid.pagination','ui.select','ui.grid.resizeColumns']).factory(
'myService',
function($resource) {
return {
Jobs : $resource('/executionjob/jobs', {},{
get: {
method: 'GET',
headers : {
'Accept' : 'application/json',
'Content-Type' : 'application/json',
'Api-Key' : authToken.apiKey()
}
}
}),
ScheduleJobs : $resource(
'/executionjob/scheduleJob', null, {
'cancelJobs' : {
method : 'PUT'
}
}),
};
});
没有 headers REST 服务工作 fine.But 为了满足我未来的需求,我想为我的 REST 添加一些安全性 endpoints.Note:我也知道有一些重复的问题,但我的问题与他们不同,因为我正在使用一个工厂和多个 $resources.Please 让我知道如何将自定义 header 添加到我的 REST 调用中,是否有任何方法可以添加常见的 header对所有 REST 请求。
是的,您可以像下面这样添加常见的 header:
angular.module('test', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common["Accept"] = 'application/json';
$httpProvider.defaults.headers.common["Content-Type"] = 'application/json';
}])
我尝试将自定义 header 添加到我的 request.But 中,当我添加时出现以下错误并且我的 REST 调用没有执行。
控制台错误
SyntaxError: Unexpected token M
at Object.parse (native)
at fromJson (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js:1231:14)
at defaultHttpResponseTransform ...
示例代码片段
var testModule = angular.module(
'test',
[ 'ngAnimate', 'ngTouch', 'ui.grid', 'ngResource', 'ngLoadingSpinner',
'ui.grid.pagination','ui.select','ui.grid.resizeColumns']).factory(
'myService',
function($resource) {
return {
Jobs : $resource('/executionjob/jobs', {},{
get: {
method: 'GET',
headers : {
'Accept' : 'application/json',
'Content-Type' : 'application/json',
'Api-Key' : authToken.apiKey()
}
}
}),
ScheduleJobs : $resource(
'/executionjob/scheduleJob', null, {
'cancelJobs' : {
method : 'PUT'
}
}),
};
});
没有 headers REST 服务工作 fine.But 为了满足我未来的需求,我想为我的 REST 添加一些安全性 endpoints.Note:我也知道有一些重复的问题,但我的问题与他们不同,因为我正在使用一个工厂和多个 $resources.Please 让我知道如何将自定义 header 添加到我的 REST 调用中,是否有任何方法可以添加常见的 header对所有 REST 请求。
是的,您可以像下面这样添加常见的 header:
angular.module('test', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common["Accept"] = 'application/json';
$httpProvider.defaults.headers.common["Content-Type"] = 'application/json';
}])