Вопрос: AJax WordPress функция показывает исходный код в предупреждении, а не значение поля ввода?

Я пытаюсь заставить работать ajax, поэтому, когда пользователь вводит почтовый индекс и нажимает кнопку отправки, появляется предупреждение о том, какой почтовый индекс он ввел.

Я действительно новичок в AJAX, так что прости меня, если следующий код ужасен!

При нажатии кнопки «Отправить» появляется окно с предупреждением, в котором показан исходный код всей страницы, а не сообщение в postcode_ajax2 .

Может кто-нибудь помочь, пожалуйста?

function ajax_postcode_form_init() {    wp_register_script('ajax-login-script', get_bloginfo('stylesheet_directory'). '/ajax-postcode-script.js', array('jquery') );     wp_enqueue_script('ajax-login-script');    wp_localize_script( 'ajax-login-script', 'ajax_login_object', array(         'ajax_url' => admin_url( 'admin-ajax.php' ),    ));    //Enable the user with no privileges to run ajax_login() in AJAX    add_action( 'wp_ajax_nopriv_ajaxlogin', 'postcode_ajax2' );}add_action('init', 'ajax_postcode_form_init');function postcode_ajax2()  {$postcode = false;if(isset($_POST['postcode'])){    $postcode = $_POST['postcode'];}echo 'Received postcode was: ' . $postcode;die();}var $ = jQuery.noConflict();            $(document).ready(function(){                $('#postcode_checker').on('submit', function(e){                    //Stop the form from submitting itself to the server.                    e.preventDefault();                    var postcode = $('#postcode').val();                    console.log(postcode);                    $.ajax({                        type: "POST",                        url: ajax_login_object.ajaxurl,                        data: {                                action: "postcode_ajax2",                                postcode: postcode                        },                         success: function(data) {                            alert(data);                        },                        error : function(error){                             console.log(error)                         }                    });                });});//JavaScript Document

Ответы и комментарии:

Спасибо, приятель, я изменил его на то, что ты предложил, но все еще вижу исходный код всей страницы в окне предупреждения?
Создан 15-02-2018 04:43 Shaun

Переместите хук функции обработчика AJAX за пределы обратного вызова init и подключите свои регистрации скриптов к wp_enqueue_scripts. И крючком для присоединения обратного вызова обработчика будет wp_ajax_nopriv_postcode_ajax2.
function ajax_postcode_form_init () {
    wp_register_script ('ajax-login-script', get_bloginfo ('stylesheet_directory'). '/ajax-postcode-script.js', array ('jquery'));

    wp_localize_script ('ajax-login-script', 'ajax_login_object', array (
        'ajax_url' => admin_url ('admin-ajax.php'),
    ));

    wp_enqueue_script ( 'Аякс-Логин-скрипт');

}

add_action ('wp_enqueue_scripts', 'ajax_postcode_form_init');

function postcode_ajax2 () {
$ postcode = false;
если (Исеть ($ _ POST [ 'почтовый индекс'])) {
    $ postcode = $ _POST ['postcode'];
}

echo 'Получен почтовый индекс:'. $ Почтовый индекс;

умереть();

}
add_action ('wp_ajax_nopriv_postcode_ajax2', 'postcode_ajax2');
Создан 15-02-2018 04:27 Abhik1,45121020