Verwenden von Jquery mit einer AJAX-Anfrage senden

Wenn der Nutzer auf die Schaltfläche “Übermitteln” in meinem Formular klickt, möchte ich, dass das Echo zurückgesendet wird, um in einer Benachrichtigung angezeigt zu werden.

Der einzige JS-Konsolenerrors, den ich bekomme:

Failed to load resource http://nikkomsgchannel/e?0017005e002b00560036004400190026002d0025002c005300…240020003700620024005b004a005500790053002c0045002b003600300026002f005d004c

Der einzige Code, den ich geändert habe, ist der Jquery. Vorher benutzte ich ein Hyperlink & click Ereignis in Jquery, das funktionierte.

Mein Code:

PHP-Datei

 function add_my_css_and_my_js_files(){ wp_enqueue_script( "ajax-test", plugin_dir_url( __FILE__ ) . '/ajax-test.js', array( 'jquery' ) ); wp_localize_script( 'ajax-test', 'the_ajax_script', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action('wp_enqueue_scripts', "add_my_css_and_my_js_files"); function text_ajax_process_request() { if ( isset( $_POST["post_var"] ) ) { $response = $_POST["post_var"]; echo $response; die(); } } add_action('wp_ajax_test_response', 'text_ajax_process_request'); function include_jQuery() { if (!is_admin()) { wp_enqueue_script('jquery'); } } add_action('init', 'include_jQuery'); add_action( 'init', 'register_shortcodes' ); function register_shortcodes() { add_shortcode( 'displaycalcs', 'mp_calcs_display' ); } function mp_calcs_display() { $output = <<<HTML 
Number of welds: Number of construction welds: Total one:
Total two:
Total three:
HTML; return $output; }

ajax-test.js

 jQuery(document).ready( function($) { $("#submit").submit( function() { var data = { action: 'test_response', post_var: 'this will be echoed back' }; $.post(the_ajax_script.ajaxurl, data, function(response) { alert(response); }); return false; }); }); 

Solutions Collecting From Web of "Verwenden von Jquery mit einer AJAX-Anfrage senden"

Dieser Fehler wurde durch stackoverflow erkannt – er wurde tatsächlich von der Rapport-Software verursacht, einem Sicherheitstool, das einige Banken empfehlen. Sie könnten es ausschalten / entfernen von Entwicklungsmaschinen.

Es gibt viele Probleme:

echo im AJAX Callback nicht. JavaScript sollte das handhaben.

Verwenden Sie wp_send_json() oder die functionen auf höherer Ebene wp_send_json_success() und wp_send_json_error() um Daten in Ihrem Callback zu senden. Sie alle werden für dich die . Keine Notwendigkeit, zu exit oder später zu die .

Datenvalidierung und Desinfektion sollten Sie ernst nehmen: $response = $_POST["post_var"]; ist eine äußerst unsichere Art, Dinge zu tun. Wenn du schon gehackt wurdest, wäre das eine offene Tür gewesen. Verwenden Sie filter_var() oder filter_var_array() , beide native PHP-functionen oder esc_attr() und ähnliche WordPress- esc_attr() .

AJAX und Shortcodes sind eine sehr spezifische Sache. Standardmäßig durchlaufen AJAX-Requests die Admin-Oberfläche (daher admin-ajax.php als Handling-Route). Und Shortcodes werden in der Admin-Benutzeroberfläche nicht benötigt. Sie werden während der Laufzeit gerendert, wenn der Inhalt eines Posts beim Loopen gerendert wird. Suchergebnisse anzeigen