Ajax post call в admin-ajax.php возвращает 0 с 400 ошибочными запросами (Wordpress) - PullRequest
0 голосов
/ 25 февраля 2019

Привет, как видите, я пытаюсь отправить свои данные на admin-ajax.php с помощью пост-звонка ajax. Пожалуйста, проверьте код ниже, и шаблон, который я использую, это betheme.

index.html

        $('#send-form').on('submit', function () {

            $.ajax({
                url : '<?php echo admin_url('admin-ajax.php'); ?>',
                data : {
                    'action' : 'test_func',
                    'data':'lorem ipsum'
                },
                type : 'POST',
                contentType: "application/json; charset=utf-8",
                dataType : 'json',
                success : function (callback) {

                    console.log(callback);
                }
            });

            return false;

        });

functions.php

function test_func () {
    echo json_encode(array('res'=>'return dummy text'));
}
add_action('wp_ajax_nopriv_test_func', 'test_func');

1 Ответ

0 голосов
/ 25 февраля 2019

согласно коду ajax нет необходимости добавлять «contentType:» application / json;charset = utf-8 "потому что вы передаете данные в виде строки, поэтому" свойство contentType не требуется ". И чтобы решить проблему получения 0 каждый раз, вам просто нужно написать" wp_die () "в конце" test_func "Метод. Ниже я упомянул ваш код с модификацией.

1) jQuery Ajax-код: -

jQuery('#send-form').on('submit', function () {
             $.ajax({
            url : '<?php echo admin_url('admin-ajax.php'); ?>',
            data : {
                'action' : 'test_func',
                'data':'lorem ipsum'
            },
            type : 'POST',
            // contentType: "application/json; charset=utf-8",
            dataType : 'json',
            success : function (callback) {

                console.log(callback);
            }
        });

        return false;

    });

2) Код функций .php

function test_func () {
echo json_encode(array('res'=>'return dummy text'));
wp_die();
}
add_action('wp_ajax_nopriv_test_func', 'test_func'); // ajax call for non-login user.
add_action('wp_ajax_test_func', 'test_func'); // ajax call for login user.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...