"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo enviar encabezados personalizados en solicitudes POST AJAX con jQuery?

¿Cómo enviar encabezados personalizados en solicitudes POST AJAX con jQuery?

Publicado el 2024-11-13
Navegar:708

How to Send Custom Headers in AJAX POST Requests with jQuery?

Encabezados personalizados en solicitudes POST AJAX con jQuery

En solicitudes POST AJAX iniciadas con jQuery, es posible incluir encabezados personalizados. Sin embargo, el mecanismo para agregar encabezados difiere del enfoque típico.

Cuando especifica encabezados como se muestra en el ejemplo:

$.ajax({
    type: 'POST',
    url: url,
    headers: {
        "My-First-Header":"first value",
        "My-Second-Header":"second value"
    }
}).done(function(data) {
    alert(data);
});

Es comprensible que espere que los encabezados se envíen como:

My-First-Header: first value
My-Second-Header: second value

Sin embargo, las medidas de seguridad del navegador impiden enviar los valores de encabezado personalizados directamente en la solicitud inicial. En su lugar, se colocan en el encabezado Access-Control-Request-Headers. Este es un mecanismo de seguridad conocido como solicitud de verificación previa.

Para permitir que la solicitud posterior incluya los valores de encabezado reales, el servidor debe configurar los encabezados CORS (intercambio de recursos entre orígenes) necesarios.

Una solución a esto es enviar los encabezados de una manera diferente, como se muestra en el código de muestra proporcionado:

$.ajax({
  type: "POST",
  beforeSend: function(request) {
    request.setRequestHeader("Authority", authorizationToken);
  },
  url: "entities",
  data: "json="   escape(JSON.stringify(createRequestObject)),
  processData: false,
  success: function(msg) {
    $("#results").append("The result ="   StringifyPretty(msg));
  }
});

Este enfoque en realidad establece los valores del encabezado de solicitud directamente, sin pasar por la ubicación de Access-Control-Request-Headers. Proporciona una manera de enviar encabezados personalizados con la solicitud inicial sin necesidad de configuración del servidor.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3