Alguém sabe como adicionar ou criar um cabeçalho HTTP personalizado usando JavaScript ou jQuery?
Alguém sabe como adicionar ou criar um cabeçalho HTTP personalizado usando JavaScript ou jQuery?
Existem várias soluções, dependendo do que você precisa ...
Se você deseja adicionar um cabeçalho personalizado (ou conjunto de cabeçalhos) a uma solicitação individual , basta adicionar a headers
propriedade:
// Request with custom header
$.ajax({
url: 'foo/bar',
headers: { 'x-my-custom-header': 'some value' }
});
Se você deseja adicionar um cabeçalho padrão (ou conjunto de cabeçalhos) a cada solicitação , use $.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' } });
Se você deseja adicionar um cabeçalho (ou conjunto de cabeçalhos) a cada solicitação , use o beforeSend
gancho com $.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' } });
Editar (mais informações): Uma coisa a ter em atenção é que ajaxSetup
você só pode definir um conjunto de cabeçalhos padrão e apenas um beforeSend
. Se você ligar ajaxSetup
várias vezes, apenas o último conjunto de cabeçalhos será enviado e apenas o último retorno de chamada antes do envio será executado.
beforeSend
ao fazer um$.ajax
?beforeSend
retorno de chamada. Se você ligar$.ajaxSetup({ beforeSend: func... })
duas vezes, o segundo retorno de chamada será o único acionado.ajaxSetup
.Ou, se você desejar enviar o cabeçalho personalizado para cada solicitação futura, poderá usar o seguinte:
Dessa forma, toda solicitação futura do ajax conterá o cabeçalho personalizado, a menos que seja explicitamente substituído pelas opções da solicitação. Você pode encontrar mais informações
ajaxSetup
aquifonte
Supondo que o JQuery ajax, você pode adicionar cabeçalhos personalizados como -
fonte
Aqui está um exemplo usando XHR2:
Espero que ajude.
Se você criar seu objeto, poderá usar a função setRequestHeader para atribuir um nome e um valor antes de enviar a solicitação.
fonte
$.ajax*
funções b / c, não dependem do jQuery e, em vez disso, usam o XHR, portanto, essa é a única opção válida nesses casos.Você também pode fazer isso sem usar o jQuery. Substitua o método de envio de XMLHttpRequest e adicione o cabeçalho lá:
fonte
Você deve evitar o uso
$.ajaxSetup()
conforme descrito nos documentos . Use o seguinte:fonte
Supondo que você queira dizer "Ao usar ajax" e "Um cabeçalho de solicitação HTTP ", use a
headers
propriedade no objeto para o qual você passaajax()
- http://api.jquery.com/jQuery.ajax/
fonte
O método "setRequestHeader" do objeto XMLHttpRequest deve ser usado
http://help.dottoro.com/ljhcrlbv.php
fonte
Você pode usar js fetch
Mostrar snippet de código
fonte