有没有办法在进行API调用时设置自定义标头?

时间:2016-11-29 08:53:00

标签: javascript angularjs web angular-resource

我想在API调用时添加自定义标头。我实际上是从控制器调用一个函数,在该函数内部,$ resource对象将按如下方式设置:

// Generate the $resource object based on the stored API object
                    var resourceObject = $resource(apiObject.url, apiObject.paramDefaults, apiObject.actions, apiObject.options);

                    // Make the call...
                    resourceObject[method](params,

                        // Success
                        function (response)
                        {
                            deferred.resolve(response);

                            // Emit an event
                            $rootScope.$broadcast('msApi::resolveSuccess');
                        },

                        // Error
                        function (response)
                        {
                            deferred.reject(response);

                            // Emit an event
                            $rootScope.$broadcast('msApi::resolveError');
                        }
                    );

如何在此内添加自定义标题?

1 个答案:

答案 0 :(得分:0)

您可以将标题作为选项对象传递。这应该适合你。

var resourceObject = $resource(apiObject.url, apiObject.paramDefaults, apiObject.actions, {headers: { 'something': 'anything' }});

或者,如果您想保留原始语法。

apiObject.options = {headers: { 'something': 'anything' }}

var resourceObject = $resource(apiObject.url, apiObject.paramDefaults, apiObject.actions, apiObject.options );