Ajax + wordpress onClick-Link redirect auf neue Seite und HTML-Inhalte erstellen

Ich habe zwei Seiten in meinem WordPress-Plugin

  • index.php
  • Diagramme.php

In index.php habe ich einige Inhalte und einige Links ..

Trend 

Während ich auf diesen Link klicke, habe ich eine Ajax-function, um Inhalte in der charts.php zu erstellen (ich weiß nicht, ob es richtig ist)

 function show_trend() { var data ="action=render_admin_charts_page"; jQuery.ajax({ type: "POST", url: "../wp-admin/admin-ajax.php", data: data, dataType: 'json', success: function(data) { alert(data); //here i want to create html content } }); } 

undfolgend ist meine php funktion und hook

 function render_admin_charts_page() { ?> 
<?php die(); } add_action( 'wp_ajax_render_admin_charts_page', 'render_admin_charts_page' );

Jetzt bekomme ich 0 als Alarm.

Solutions Collecting From Web of "Ajax + wordpress onClick-Link redirect auf neue Seite und HTML-Inhalte erstellen"

Ich sehe zwei Dinge. Sie verpassen einen Aktionsanruf – Sie brauchen

 add_action( 'wp_ajax_render_admin_charts_page', 'render_admin_charts_page' ); add_action('wp_ajax_nopriv_render_admin_charts_page', 'render_admin_charts_page'); 

render_admin_charts_page() Sie Ihre render_admin_charts_page() , müssen Sie Ihren json dataType in html ändern. Ihre Diagrammfunktion gibt HTML aus, also müssen Sie es nur ausgeben; Ihr alert() sollte den gesamten HTML-Code Ihrer function enthalten.

Noch eine Sache, wenn das noch eine Live-Frage ist, warum die() in deiner render_admin_charts_page() function? Diese function druckt eine Nachricht, so dass auch Ihr zurückgegebener Wert durcheinander gebracht werden kann.

Wie gesagt, sollte die Variable “data” ein Objekt, keine Zeichenfolge enthalten.

 function show_trend() { var data = { action: "render_admin_charts_page" } jQuery.ajax({ type: "POST", url: "../wp-admin/admin-ajax.php", data: data, dataType: 'json', success: function(data) { alert(data); //here i want to create html content } }); } 

Das sollte es tun.