Einen Wert von einer PHP-Seite zurückgeben

Ich habe eine WordPress-Seite mit diesem einfachen PHP-Code erstellt:

 'Done', 'ID' => 1 ); wp_send_json( $result ); ?> 

Wenn Sie ein Formular auf einer anderen Seite mit Ajax (JQuery) einreichen, ruft es diese PHP-Seite auf, dann versuche ich in der JQuery-Methode den zurückgegebenen Wert von der PHP-Seite mit diesem Code zu lesen:

 $( '#contact_form' ).bootstrapValidator({ fields: { // ... }, submitHandler: function( formInstance ) { $.post( "../send-message", $("#contact_form").serialize(), function( result ) { alert( result ); }); } }); 

Aber es gibt tatsächlich die ganze PHP-Seite mit seinem WordPress-Theme-Code zurück, der zusätzlich zu den übergebenen Parametern verwendet wird, wie hier gezeigt:

Bildbeschreibung hier eingeben

Meine Frage ist: Wie kann ich einen PHP-Wert von einer WordPress-Seite in eine JQuery-function zurückgeben?

Solutions Collecting From Web of "Einen Wert von einer PHP-Seite zurückgeben"

Wie kann ich einen PHP-Wert von einer WordPress-Seite in eine JQuery-function zurückgeben?

Verwenden Sie wp_localize_script , um ein Objekt zu erstellen und es an das JavaScript zu übergeben.

 wp_send_json( $result ); if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { wp_die(); } 

UPD

Der beste Weg, um Ajax-Anfragen mit wp zu verwenden, ist wp native Ajax-Aktionen zu verwenden

 add_action( 'wp_ajax_my_action', 'my_action_callback' ); add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' ); 

https://codex.wordpress.org/AJAX_in_Plugins

Sie müssen also eine post-Anfrage an admin-ajax.php stellen

 wp_enqueue_script( 'frontend-js', PATH_TO_JS . '/script.js' ); wp_localize_script( 'frontend-js', 'wpUser', [ 'ajaxUrl' => admin_url( 'admin-ajax.php' ), ] ); $.post( wpUser.ajaxUrl, { action: 'my_action' } );