使用AJAX调用从wordpress自定义表中选择2个数据

时间:2018-09-12 12:29:21

标签: php ajax wordpress

我正在使用select2 v:4.0.6 和ajax调用来搜索wordpress自定义表。但是当我在控制台中检入错误消息时,搜索字段显示任何值 NO result found 我不确定,但是也许我在ajax调用中犯了错误。有人可以帮助我解决此问题。

注意:我正确声明了所有enqueue_scripts

显示select2字段

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

这是我的ajax

(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 );

此ajax调用的PHP函数

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' );

0 个答案:

没有答案