es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Parámetros de envío y recepción de AJAX en Select2

Cómo enviar parámetros de AJAX en Select2 y recibir en PHP?

Estoy intentando enviar parámetros de la siguiente manera.

     let element_id = event.target.id;
     let selectEle = cellEle.children("select").select2({
          ajax: {
            url: "/wp-admin/admin-ajax.php",
            dataType: 'json',
            data: function (element_id) {
                 return { 
                    q: element_id,
                    action: 'get_data'
                 };
             },
            type: "post",
            processResults: function(data) {                             
              console.log(data);
            }
          }
        });

Estoy intentando recibir los parámetros de la siguiente manera.

function get_data()
{
    echo json_encode($_POST['q']);
    die;
}

Obtengo el resultado “null”.

enter image description here

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    ¿Cómo enviar parámetros de AJAX en Select2 y recibir en PHP?

    Para enviar parámetros de AJAX en Select2 y recibir en PHP, puedes seguir los siguientes pasos:

    Paso 1: Definir la petición AJAX

    En el código JavaScript, debes definir la petición AJAX utilizando el método jQuery.ajax(). A continuación se muestra un ejemplo de código:

    let element_id = event.target.id;
    let selectEle = cellEle.children("select").select2({
      ajax: {
        url: "/wp-admin/admin-ajax.php",
        dataType: 'json',
        data: function (params) {
          return {
            q: params.term,
            element_id: element_id,
            action: 'get_data'
          };
        },
        type: "POST",
        processResults: function (data) {
          console.log(data);
        }
      }
    });
    

    En este código, estamos estableciendo las opciones AJAX como la URL, el tipo de datos, los datos, el tipo de petición y el procesamiento de resultados. Estamos pasando tres parámetros en los datos: term, element_id y action.

    Paso 2: Definir la función PHP para recibir los parámetros

    En el código PHP, debes definir la función que recibe los parámetros enviados desde la petición AJAX. A continuación se muestra un ejemplo de código:

    function get_data()
    {
      $element_id = $_POST['element_id'];
      $q = $_POST['q'];
      // Realizar acciones con los parámetros
      echo json_encode($result);
      die;
    }
    add_action('wp_ajax_get_data', 'get_data');
    add_action('wp_ajax_nopriv_get_data', 'get_data');
    

    En este código, estamos utilizando la función add_action() de WordPress para definir nuestra función manejadora de AJAX. También estamos utilizando la variable global $_POST para obtener los parámetros enviados desde la petición AJAX.

    Finalmente, estamos codificando el resultado como JSON y devolviéndolo a la petición AJAX.

    Siguiendo estos pasos, puedes enviar parámetros de AJAX en Select2 y recibirlos en PHP.

Comments are closed.