Выберите данные из пользовательской таблицы WordPress, используя вызов AJAX - PullRequest
0 голосов
/ 12 сентября 2018

Я использую select2 v: 4.0.6 и вызов ajax для поиска в пользовательской таблице wordpress.Но поле поиска показывает любое значение, когда я проверяю в консоли, я обнаружил сообщение об ошибке вроде NO result found Я не уверен, но, возможно, я допустил ошибку в своем вызове ajax.Может кто-нибудь помочь мне решить эту проблему.

Примечание: Я объявляю все enqueue_scripts правильно.

Показать select2 поле

<select id="bRsearch" class="js-data-brname-ajax"></select>

Вот мой Аякс

(function($) {
  "use strict";
    jQuery(document).ready(function($){

    // Search Branch Code with select2 plugin   
     var ajaxurl =  SBLAjax.ajaxurl;
     $("select#bRsearch").select2({
        ajax: {
            url: ajaxurl,
            dataType: 'json',
            delay: 250,
            data: function (params) {

                var query = {
                    q: params.term,
                    action: 'branchsearch2', // AJAX action for admin-ajax.php
              }
              return query;
            },
            cache: true
        },
    });
  });   
})( jQuery );

АФункция PHP для этого вызова ajax

function branchsearch2() {
global $wpdb;
    $tablename = $wpdb->prefix."sbl_br_name";
    $q = $_GET['q'];
    $rows = $wpdb->get_results("SELECT s.br_name, s.br_code "
            . "FROM wp_sbl_br_name s "
            . "WHERE s.br_name LIKE '%" . $q . "%' "
            . "OR s.br_code LIKE '%" . $q . "%' "
        );

    $data = array();

    if (is_array($rows)) {
        foreach ($rows as $row) { 
            $code = $row->br_code;
            $text = $row->br_name;
            $data[] = array('id' => $code, 'text' => $text);
        }
    }
    return json_encode($data);
//--------------------------------------
}
add_action( 'wp_ajax_branchsearch2', 'branchsearch2' );
add_action( 'wp_ajax_nopriv_branchsearch2', 'branchsearch2' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...