为什么Flask应用程序无法识别Ajax标头

时间:2019-02-19 22:02:48

标签: ajax flask

我正在学习Flask的绳索,以使其成为我的主要武器。 我正在研究http://www.allitebooks.com/learning-flask-framework/这本书。现在,我正在与Ajax一起玩,并且已经在这条线上停留了2天了,没有运气来找出问题所在。

发布评论时出现此错误:

“请求必须具有“ Content-Type:应用程序/ json”标头”

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

显然有。但是请继续得到相同的错误。

因此,这里讨论了非常相似的主题。在某些情况下有效:Accept: 'application/json'

虽然不适合我。

可能是什么问题,为什么?我在这个标题问题上停留了两天真是很愚蠢。

已更新:

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;
        });
    }

和烧瓶视图:

@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)

0 个答案:

没有答案