Cómo usar encabezados de autorización en el método de publicación AngularJS

Establecer encabezados HTTP

El servicio $ http agregará automáticamente ciertos encabezados HTTP a todas las solicitudes. Estos valores predeterminados se pueden configurar completamente accediendo al objeto de configuración $httpProvider.defaults.headers , que actualmente contiene esta configuración predeterminada:

  • $httpProvider.defaults.headers.common (encabezados que son comunes para todas las solicitudes): Accept: application/json, text/plain, */*
  • $httpProvider.defaults.headers.post : (el encabezado predeterminado es para solicitudes POST) Content-Type: application/json
  • $httpProvider.defaults.headers.put (valores predeterminados de encabezado para solicitudes PUT) Content-Type: application/json

Para agregar o sobrescribir estos valores predeterminados, simplemente agregue o elimine una propiedad de estos objetos de configuración. Para agregar encabezados para un método HTTP que no sea POST o PUT, simplemente agregue un nuevo objeto con el nombre del método HTTP en minúscula como clave, por ejemplo, $httpProvider.defaults.headers.get = { 'My-Header' : 'value' } .

Los valores predeterminados también se pueden establecer en tiempo de ejecución a través del objeto $http.defaults de la misma manera. Por ejemplo:

module.run (function ($ http) {
$ http.defaults.headers.common.Authorization = ‘Basic YmVlcDpib29w’;
});

Además, puede proporcionar una propiedad de headers en el objeto de configuración pasado al llamar a $http(config) , que anula los valores predeterminados sin cambiarlos globalmente.

Para eliminar explícitamente un encabezado agregado automáticamente a través de $ httpProvider.defaults.headers por solicitud, use la propiedad de headers , configurando el encabezado deseado como undefined . Por ejemplo:

var req = {
método: ‘POST’,
url: ‘http://example.com’,
encabezados: {
‘Tipo de contenido’: indefinido
},
datos: {prueba: ‘prueba’}
}

$ http (req) .then (function () {…}, function () {…});