2013-11-20 4 views
5

Как создать глобальный заголовок, похожий на jQuery, используя AngularJS?Глобальный заголовок для сообщения AngularJS

Что-то вроде этого:

$.ajaxSetup({ 
    beforeSend: function (xhr) { 
     xhr.setRequestHeader('Requested-With', 'XMLHttpRequest'); 
     xhr.setRequestHeader('__RequestVerificationToken', 'abc123'); 
    } 
}); 

Прямо сейчас я это делаю:

$http({ 
    url: 'mysite.com/', 
    method: 'POST', 
    data: 'data', 
    headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
}) 
+2

чтения раздел Настройка заголовков в документации – charlietfl

ответ

12

Вау ... Это было как раз перед моим лицом!

Чтение раздела «Заголовки настроек», как сказал @charlietfl ... это действительно просто.

http://docs.angularjs.org/api/ng.$http

Настройка HTTP заголовков служба $ HTTP автоматически добавляет некоторые заголовки HTTP на все запросы. Эти значения могут быть полностью настроены путем доступа к конфигурации объекта $ httpProvider.defaults.headers, , который в настоящее время содержит конфигурацию по умолчанию это:

Чтобы добавить или перезаписать эти значения по умолчанию, просто добавить или удалить свойство из этих объектов конфигурации. Чтобы добавить заголовки для HTTP-метода , кроме POST или PUT, просто добавьте новый объект с именем HTTP в качестве ключа, например.

$httpProvider.defaults.headers.post = { 'My-Header' : 'value' } 

Пример кода

var app = angular.module('app', ['app.controller', 'app.service']); 

app.config(function ($httpProvider) { 
    $httpProvider.defaults.headers.post = { "X-Requested-With": "XMLHttpRequest", "__RequestVerificationToken": $('[name=__RequestVerificationToken]').val() }; 
}); 
Смежные вопросы