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

112
Vistas
WordPress admin-ajax devuelve una solicitud incorrecta 400

En un archivo de plantilla, necesito obtener los nuevos datos de la interfaz cuando un usuario hace doble clic y cambia el registro en una tabla. Probé y la consola muestra que la solicitud es correcta, sin embargo, independientemente de lo que intenté, el administrador-Ajax siempre devuelve una solicitud incorrecta. El código PHP que espera la solicitud en el archivo de plantilla es:

 add_action( "wp_ajax_update_records", "update_records" ); add_action( "wp_ajax_nopriv_please_login", "please_login" ); function update_records(){ global $wpdb; $colName = "'" . $_POST['upd_column'] . "'"; $wpdb->update('Reservations', array( $colName => $_POST['upd_value'] ), array( 'ReservationID' => $_POST['record_id'] ) ); wp_die(); }; function please_login() { echo "You must log in to work"; die(); }

El código jQuery que envía la solicitud es:

 jQuery('#work td').dblclick( function dolly_script() { var text = jQuery(this).text(); var headerName = jQuery(this).attr('headers'); jQuery(this).text(''); jQuery('<input />').appendTo(jQuery(this)).val(text).select().blur( function() { var newVal = jQuery(this).val(); var selectionID = jQuery(this).closest("tr").children("td[headers='ReservationID']").text(); jQuery(this).parent().text(newVal).find('input').remove(); jQuery.ajax({ url: '../wp-admin/admin-ajax.php', type: 'POST', dataType : "json", data: JSON.stringify({ action: 'update_records', record_id: selectionID, upd_column: headerName, upd_value: newVal }) }) }) });

Probé también sin JSON.stringify y sin tipo de datos.
En el archivo de funciones también he agregado:

 wp_register_script( 'dolly_script', '/wp-content/themes/bootcms/work.js'); $myAjax = array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ); wp_localize_script( 'dolly_script', 'ajax_url', $myAjax ); wp_enqueue_script( 'dolly_script' );

Dentro de "add_action('wp_enqueue_scripts', 'myfunction');" declaración.

Si alguien pudiera ayudar es muy apreciado, pasé un día entero pero no encontré ninguna solución.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Resolví el problema. Aquí está la solución en caso de que ayude a otros:

Moví la función PHP al archivo functions.php.

about 4 years ago · Juan Pablo Isaza 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