[WordPress] どのように jquery を経由してデータベースからデータを受信するには?[ワードプレス .js]

スポンサーリンク

質問

私は私のワードプレスのテーマの .js ファイルでデータベースからいくつかのデータをフェッチしようとしています。Jquery の .post() を試みたが、何も起こって

も私お勧めします任意の代替

.js ファイルのコード

jq.post("../abc.php",
        {
        name:"kumar",
        accId:window.accommodationId

        },  function(data,status)
            {
                alert("hello");

             //alert("Data: " + data + "\nStatus: " + status);
            }
        );

abc.php ファイル内のコード

<?php
global $wpdb;

$max_minAge = $wpdb->get_results( "SELECT price_per_day FROM  wp_byt_accommodation_vacancies where accommodation_id='1741'" );   

echo $max_minAge[0]->price_per_day;
?>

答え

jQuery AJAX get

省略形を使用することができます:

$.get( "../abc.php", function( data ) {
  alert( "Data Loaded: " + data );
});

を知って良いこと: ティン データ ファイルから 取得 しているので、

GET

を使用する必要があります


答え

functions.php ファイルでこのような wp_ajax フックを使用することができます

  // script atyle add at frontend
    add_action( 'wp_enqueue_scripts','my_scripts_style');

 function my_scripts_style()
{
    wp_enqueue_script( 'scriptid', PATH_TO . 'script.js', array('jquery') );
    // localize the script
    wp_localize_script( 'scriptid', 'myAjax', array( 'url' =>admin_url( 'admin-ajax.php' ),'nonce' => wp_create_nonce( "ajax_call_nonce" )));
}

ajax フックを追加します

   // action for execute ajax from frontend 
    add_action( 'wp_ajax_nopriv_execute_ajax','execute_ajax');

function execute_ajax() 
{
    $nonce = check_ajax_referer( 'ajax_call_nonce', 'nonce' );
    if($nonce==true)
    {
    // here you will perform all the db communication get data from db and send it to the view area.
    echo 'test this';   
    die();
     }
}

上記

enque_script

を介して含まれて js ファイルにし、これを使用する

jQuery(function(){
jQuery('.click-onthis').live('click', function(){ // get data by click
    var data = {
                    action: 'execute_ajax',
                    nonce: myAjax.nonce,
                    // anyother code etc
                };

                jQuery.post( myAjax.url, data, function(response) 
                {
                    if(response=='success')
                    {

                    }
                });
        });
    });

jquery

click-on-this

が働くでしょうとき] をクリックしますリンクをロードまたはその他のイベントを coomunicate ことができます

http://stackoverflow.com/questions/28022456/how-to-receive-data-from-database-via-jquery-wordpress-js

スポンサーリンク

Leave a Reply