Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
¿Cómo puedo convertir jQuery ajax para buscar?

Este fue mi código jQuery antes. Ahora quiero cambiarlo para buscar.

 function fetch(){
 jQuery.ajax({
 url: '<?php echo admin_url('admin-ajax.php'); ?>',
 type: 'post',
 data: { action: 'data_fetch', keyword: jQuery('#keyword').val(), pcat: jQuery('#cat').val() },
 success: function(data) {
 jQuery('#datafetch').html( data );
 }
 });
}

He cambiado el código a este ahora, pero recibo un código de estado de solicitud 400 incorrecto

 document.querySelector('#keyword').addEventListener('keyup',()=>{
 let data = {
 action: 'data_fetch',
 keyword: document.querySelector("#keyword").value
};
let url = "<?php echo admin_url('admin-ajax.php'); ?>";
fetch(url, {
 method: 'POST', // or 'PUT'
 headers: {
 'Content-Type': 'application/json',
 },
 body: JSON.stringify(data),
 })
 .then((response) => response.text())
 .then((data) => {
 document.querySelector("#datafetch").innerHTML = data;
 })
 .catch((error) => {
 console.error('Error:', error);
 });
})

¿Me estoy perdiendo de algo? Es de WordPress si esto ayuda de alguna manera.

almost 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

  1. Olvidaste la propiedad pcat en el objeto de datos
  2. jQuery, de forma predeterminada, envía datos codificados de formulario, no datos codificados en JSON. Use un objeto URLSearchParams en lugar de una cadena de JSON y omita el encabezado de tipo de contenido (el navegador agregará el correcto para usted).
almost 4 years ago · Santiago Trujillo Denunciar

0

En su código jQuery definió data como

 data: { action: 'data_fetch', keyword: jQuery('#keyword').val(), pcat: jQuery('#cat').val() },

y en fetch lo definiste como

 let data = {
 action: 'data_fetch',
 keyword: document.querySelector("#keyword").value
};

por lo tanto, no está pasando algún valor que se pasó previamente. No es de extrañar que su servidor falle. Cambiemos tu código a

 let data = {
 action: 'data_fetch',
 keyword: document.querySelector("#keyword").value,
 pcat: document.getElementById("cat").value
};

y prueba esto. Si aún funciona, deberá averiguar qué difiere en la solicitud y asegurarse de que la solicitud que está enviando a través de fetch sea equivalente a la solicitud que envió formalmente a través de jQuery, entonces debería funcionar bien, suponiendo que el cliente: side trabajó previamente con jQuery y el lado del servidor manejó correctamente las solicitudes.

almost 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda