Ошибка синтаксического анализа заголовков скриптов в admin-ajax с HTTP-запросом - PullRequest
0 голосов
/ 15 мая 2019

Я работаю над Wordpress и у меня странная ошибка.Это мой код jQuery

add_to_my_cart: function () {
            $(document).on('submit', 'form.form-submit', function (event) {
                event.preventDefault();              
                var data = $(this).serializeArray();

                $.ajax({
                    url     : wp_custom_settings.ajax,
                    type    : 'POST',
                    data    : data,
                    dataType: 'html',
                    success : function (code) {
                        code = parseJSON(code);
                        window.location.href = code.redirect;
                    }
                });
            });
        }

Выше приведено, когда я отправляю форму и передаю некоторые данные в функцию PHP.Тем не менее, я получаю 500 internal server error на HTTP-запрос admin-ajax со следующим в журналах apache:

Premature end of script headers: admin-ajax.php, referer: my.domain.here
AH01070: Error parsing script headers, referer: my.domain.here

Я использовал error_log($message) на каждом этапе процесса, и я не нашел ни одногопроблема.Самым последним шагом является возврат JSON-запроса.

if ( ! function_exists( 'my_send_json' ) ) {

function my_send_json( $data ) {
    error_log("DONE");
    @header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
    echo '<!-- WP_AJAX_START -->';
    echo wp_json_encode( $data );
    echo '<!-- WP_AJAX_END -->';
    if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
        wp_die();
    } else {
        die;
    }
}
}

Я вижу на debug.log строку DONE, но HTTP-запрос имеет пустой ответ.Я также пытался удалить $data и просто вернуть это

echo wp_json_encode( array( 'status' => 'success', 'redirect' => 'my.domain.here' ));

Но все так же.Я не могу придумать какой-либо другой способ его отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...