Почему заголовок Ajax не распознается в приложении Flask - PullRequest
0 голосов
/ 20 февраля 2019

Я изучаю веревки Фляги с намерением сделать это моим основным оружием.Я изучаю эту книгу http://www.allitebooks.com/learning-flask-framework/.Сейчас я играю с Ajax, и я застрял на этой линии в течение 2 дней без какой-либо удачи, чтобы выяснить, в чем проблема.

При публикации комментария я получаю эту ошибку:

«Запрос должен иметь» Content-Type: application / json «header»

header: {
    'Content-Type': 'application/json'
}

Что он явно имеет.Но продолжайте получать ту же ошибку.

Здесь, на SO, обсуждается очень похожая тема.Для кого-то, что сработало: Accept: 'application/json'

Не для меня.

В чем может быть проблема и почему?Это довольно глупо, что я застрял в этой проблеме заголовка в течение 2 дней.

Обновлено:

function bindHandler() {
        $('form#comment-form').on('submit', function() {
            var form = $(this);
            var formData = getFormData(form);
            var request = $.ajax({
                url: form.attr('action'),
                type: 'POST',
                data: JSON.stringify(formData),
                header: {
                    'Content-Type': 'application/json'
                }
                dataType: 'json'
            });
            request.success(function(data) {
                alertDiv = makeAlert('success', 'Success', 'your comment was posted.');
                form.before(alertDiv);
                form[0].reset();
            });
            request.fail(function() {
                alertDiv = makeAlert('danger', 'Error', 'your comment was not posted.');
                form.before(alertDiv);
            });
            return false;
        });
    }

и представление Flask:

@entries.route('/<slug>/')
def detail(slug):
    entry = get_entry_or_404(slug)
    form = CommentForm(data={'entry_id': entry.id})
    return render_template('entries/detail.html', title=entry.title, \
                        entry=entry, form=form)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...