Holen Sie Inhalt von der Seite durch AJAX

Ich verwende ein WordPress-Theme und möchte Inhalte über AJAX innerhalb einer Seite laden.

Ich habe das in meiner functions.php hinzugefügt:

function my_ajax_files() { wp_localize_script( 'function', 'my_ajax_script', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'function', get_template_directory_uri().'/my_js_stuff.js', 'jquery', true); } add_action('template_redirect', 'my_ajax_files'); function get_my_comments() { global $current_user; get_currentuserinfo(); echo 'Username: ' . $current_user->user_login . '
'; echo 'User display name: ' . $current_user->display_name . '
'; $args = array( 'user_id' => $current_user->ID, // use user_id 'post_type' => 'debate' ); $comments = get_comments($args); echo '
    '; wp_list_comments( array( 'per_page' => 10, //Allow comment pagination 'reverse_top_level' => false //Show the latest comments at the top of the list ), $comments ); echo '
'; } add_action("wp_ajax_nopriv_get_my_comments", "get_my_comments"); add_action("wp_ajax_get_my_comments", "get_my_comments");

und diese Datei my_js_stuff.js enthält Folgendes :

 jQuery(document).ready( function() { jQuery( "#target" ).click(function() { jQuery.ajax({ url: my_ajax_script.ajaxurl, data: ({action : 'get_my_comments'}), success: function() { jQuery("#content").append(data); } }); }); }); 

Innerhalb der Seite, wo ich den Inhalt von der function bekommen möchte, habe ich ein Div mit einer ID des Ziels hinzugefügt, aber wenn ich darauf klicke passiert nichts, ich habe auch die Konsole überprüft und ich habe keine Fehler.

Was ist falsch ?

Solutions Collecting From Web of "Holen Sie Inhalt von der Seite durch AJAX"

Ist das der richtige Weg?

Dies ist nicht der richtige Weg, dies zu tun.

Was Sie tun, macht erstens keinen Sinn. Wenn Sie diese Seite laden (vorausgesetzt, sie wurde korrekt geladen), laden Sie die gesamte WordPress-Seite, nicht nur die Kommentare. Das heißt, Sie laden vollständig durch . Das hat keinen Sinn. Alles was du willst sind die Kommentare.

Zweitens bietet WordPress einen Mechanismus zur Zentralisierung von AJAX-Anfragen. Es heißt AJAX API und sobald Sie den Dreh raus haben, werden Sie nie etwas anderes versuchen. Verwende das.

Es gibt zahlreiche Fragen auf dieser Seite über die Verwendung der AJAX-API, einschließlich dieser von mir .

Recherchiere. Versuche das richtig zu machen. Bearbeiten Sie dann die Frage mit bestimmten Problemen, die Sie haben.

Bearbeiten:

Ich habe mir deinen Schnitt angeschaut und …

Sie müssen am Ende Ihres Ajax Callbacks nach dem Codex die() .

Wenn my_ajax_script.ajaxurl nicht richtig eingestellt ist, funktioniert nichts. Sehen Sie sich die Quelle der Seite an und bestätigen Sie dies.