[WordPress] データベースを更新していないワードプレス ajax

スポンサーリンク

Question

私を導くことができる、このチュートリアルを実行しようとしていることを望む: http://www.inkthemes.com/how-to-use-ajax-in-wordpress-for-data-insertion/#

これは私のワードプレスのプラグインの Javascript:

jQuery(document).ready(function(){
    jQuery("#submit").click(function(){
        console.log("click caught");//this bit works
        var name = jQuery("#dname").val();
        jQuery.ajax({
            type: 'POST',   
            data: {"action": "post_word_count", "dname":name},
            success: function(data){ 
                alert(data);//this alert appears full of html
            }
        });
    });
});

これは、プラグインの php:

function show_form(){

echo "
"; echo ""; echo "
"; echo ""; echo "
"; } add_action('the_content', 'show_form'); function post_word_count(){ $name = $_POST['dname']; global $wpdb; $wpdb->insert( 'bio', array( 'bio_surname' => $name ), array( '%s' ) ); die(); return true; } // add_action('wp_ajax_post_word_count', 'post_word_count'); // Call when user logged in add_action('wp_ajax_nopriv_post_word_count', 'post_word_count'); // Call when user in not logged in ?>

私のデバッガーで見つけているつまり、コンソール POST データは ‘dname’ 提出フォーム入力ただし、”バイオ”の表は、データベースが更新されていません。 起こることすべてはウェブサイトのイムに取り組んでのすべての html の完全な警告ポップアップ。 すなわち。 応答。コンソールでデバッガーは大規模な html テキストです。

ので、理由を理解していないデータ = 私のウェブサイトの html、なぜ「バイオ」テーブルが更新されない

答え

プラグインの php ファイルで最初にこのような java スクリプト ファイル追加

wp_enqueue_script('ajax-script-xyz','***javascript file path***', array('jquery')); 
wp_localize_script('ajax-script-xyz', 'ajax_object',
                        array(
                            'ajax_url' => admin_url('admin-ajax.php'),
                            )
                        );

プラグイン Javascript: 管理者 ajax.php ファイルの url を追加

jQuery(document).ready(function(){
    jQuery("#submit").click(function(){
        console.log("click caught");//this bit works
        var name = jQuery("#dname").val();
        jQuery.ajax(ajax_object.ajax_url, {//**add admin-ajax.php fill url **
            type: 'POST',   
            data: {"action": "post_word_count", "dname":name},
            success: function(data){ 
                alert(data);//this alert appears full of html
            }
        });
    });
});

立ち打者をチェックこのリンク http://codex.wordpress.org/AJAX_in_Plugins

答え

ajax で URL を定義していない:

jQuery(document).ready(function(){
    jQuery("#submit").click(function(){
        var name = jQuery("#dname").val();
        jQuery.ajax({
            type: 'POST',   // Adding Post method
             url: ajaxurl, // Including ajax file
             data: {"action": "post_word_count", "dname":name}, // Sending data dname to post_word_count function.
             success: function(data){ // Show returned data using the function.
                 alert(data);
        });
    });
});

http://stackoverflow.com/questions/27286693/wordpress-ajax-not-updating-database

スポンサーリンク

Leave a Reply