Je ne comprends pas comment renvoyer correctement le code HTML via AJAX.
J'ai cette routine
function DisplayEventInfoBox()
{ ?>
<div id="eventInfo">
<div class="avail-from cart-right">
<?php
and so on...
}
Si j'inclus ceci dans un appel AJAX et que la fin de la routine est un die (), l'objet de réponse contient le code HTML, que je peux utiliser à ma guise.
function myAJAXFn() {
DisplayEventInfoBox($my_page, $shipHelper);
die();
}
Je souhaite envoyer des informations supplémentaires, en utilisant par exemple wp_send_json_success ou une autre variable.
Ce code renvoie le code HTML avec le tableau JSON ajouté à la fin. Je voudrais un créer un objet JSON où je peux accéder à ma propriété de page et le HTML. Quelle est la meilleure façon de faire cela?
function myAJAXFn() {
DisplayEventInfoBox($my_page, $shipHelper);
wp_send_json_success( array('page'=>$myPage) );
}
Je ne sais pas ce que les variables $ my_page, $ my_page ou $ shipHelper sont censées faire, mais vous pouvez utiliser un tampon de sortie pour capturer la sortie de votre fonction DisplayEventInfoBox. Vous pouvez essayer ce qui suit:
function myAJAXFn() {
ob_start();
DisplayEventInfoBox($my_page, $shipHelper);
$my_html = ob_get_contents();
ob_end_clean();
wp_send_json_success( array('page'=>$my_html) );
}