Существует несколько решений в зависимости от того, что вам нужно ...
Если вы хотите добавить пользовательский заголовок (или набор заголовков) к отдельному запросу , тогда просто добавьте headers
свойство:
// Request with custom header
$.ajax({
url: 'foo/bar',
headers: { 'x-my-custom-header': 'some value' }
});
Если вы хотите добавить заголовок по умолчанию (или набор заголовков) к каждому запросу , тогда используйте $.ajaxSetup()
:
$.ajaxSetup({
headers: { 'x-my-custom-header': 'some value' }
});
// Sends your custom header
$.ajax({ url: 'foo/bar' });
// Overwrites the default header with a new header
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });
Если вы хотите добавить заголовок (или набор заголовков) к каждому запросу , тогда используйте beforeSend
ловушку с $.ajaxSetup()
:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'some value');
}
});
// Sends your custom header
$.ajax({ url: 'foo/bar' });
// Sends both custom headers
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });
Редактировать (большеinfo): Следует помнить, что с ajaxSetup
вы можете определить только один набор заголовков по умолчанию и один beforeSend
.Если вы наберете ajaxSetup
несколько раз, будет отправлен только последний набор заголовков и будет выполнен только последний обратный вызов перед отправкой.