Почему flask не принимает мой fetch запрос и возвращает 400 bad request?
Мой js:
$(document).ready(function () {
$("#review" ).submit(function( event ) {
sendFetchReviewForm("review");
event.preventDefault();
});
});
function sendFetchReviewForm(rev_form) {
f = new FormData(review)
url = review.getAttribute('action')
method_ = review.getAttribute('method')
fetch(url, {
method: method_,
headers: {'Content-Type': 'multipart/form-data'},
body: f
}).then((response) => {alert(response.status)
});
}
view.py
@shop_blueprint.route('shop/product/<string:product_id>/add_reveiw', methods=['POST'])
@login_required
def review_handler(product_id):
form = ReviewForm()
json_data = {}
requ = request.get_json()
if request.method == 'POST':
text = form.review_text.data
review = services.create_review(text, current_user.id, int(product_id))
json_data['text'] = text
return json_data
Я понимаю, что view с точки зрения обработки полей не правильный, дело в том, что я сначала использовал ajax и потом его перепишу. Почему flask не принимает мой запрос?
Ответы (1 шт):
Автор решения: Evil Giraffe
→ Ссылка
Возможно, проблема в том, что вы возвращаете словарь из python, а не json объект.
return flask.jsonify(json_data)
Советую вам использовать ajax. На мой вкус он проще.