¿Alguien sabe cómo agregar o crear un encabezado HTTP personalizado usando JavaScript o jQuery?
¿Alguien sabe cómo agregar o crear un encabezado HTTP personalizado usando JavaScript o jQuery?
Existen varias soluciones según lo que necesite ...
Si desea agregar un encabezado personalizado (o un conjunto de encabezados) a una solicitud individual , simplemente agregue la headers
propiedad:
// Request with custom header
$.ajax({
url: 'foo/bar',
headers: { 'x-my-custom-header': 'some value' }
});
Si desea agregar un encabezado predeterminado (o un conjunto de encabezados) a cada solicitud , utilice $.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' } });
Si desea agregar un encabezado (o conjunto de encabezados) a cada solicitud , use el beforeSend
enlace con $.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 (más información): Una cosa a tener en cuenta es que con ajaxSetup
usted solo puede definir un conjunto de encabezados predeterminados y solo puede definir uno beforeSend
. Si llama ajaxSetup
varias veces, solo se enviará el último conjunto de encabezados y solo se ejecutará la última devolución de llamada anterior al envío.
beforeSend
cuando hago una$.ajax
?beforeSend
devolución de llamada. Si llama$.ajaxSetup({ beforeSend: func... })
dos veces, la segunda devolución de llamada será la única que se active.ajaxSetup
.O, si desea enviar el encabezado personalizado para cada solicitud futura, puede utilizar lo siguiente:
De esta forma, cada solicitud ajax futura contendrá el encabezado personalizado, a menos que las opciones de la solicitud anulen explícitamente. Puedes encontrar más información
ajaxSetup
aquífuente
Suponiendo JQuery ajax, puede agregar encabezados personalizados como -
fuente
Aquí hay un ejemplo usando XHR2:
Espero que ayude.
Si crea su objeto, puede usar la función setRequestHeader para asignar un nombre y un valor antes de enviar la solicitud.
fuente
$.ajax*
funciones b / c, no dependen de jQuery y en su lugar usan XHR, por lo que esta es la única opción válida en esos casos.También puede hacer esto sin usar jQuery. Anule el método de envío de XMLHttpRequest y agregue el encabezado allí:
fuente
Debe evitar el uso
$.ajaxSetup()
como se describe en los documentos . Use lo siguiente en su lugar:fuente
Suponiendo que quiere decir "Al usar ajax" y "Un encabezado de solicitud HTTP ", use la
headers
propiedad en el objeto al que pasaajax()
- http://api.jquery.com/jQuery.ajax/
fuente
Se debe utilizar el método "setRequestHeader" del objeto XMLHttpRequest
http://help.dottoro.com/ljhcrlbv.php
fuente
Puedes usar js fetch
Mostrar fragmento de código
fuente