Flask 为什么jsonify返回时身份不明?
我正在使用前端的fetch将数据发送到我的flask后端,以便预订电影座位。整个过程正常工作,直到客户机等待“未定义”的响应。因此,基本上数据库保存数据,唯一的问题是发送给客户端的响应。我使用了jsonify,它通常工作得很好。谁能告诉我我错过了什么?提前谢谢 以下是JS代码:Flask 为什么jsonify返回时身份不明?,flask,fetch,jsonify,Flask,Fetch,Jsonify,我正在使用前端的fetch将数据发送到我的flask后端,以便预订电影座位。整个过程正常工作,直到客户机等待“未定义”的响应。因此,基本上数据库保存数据,唯一的问题是发送给客户端的响应。我使用了jsonify,它通常工作得很好。谁能告诉我我错过了什么?提前谢谢 以下是JS代码: function sendReservationToServer() { const selectedSeats = sessionStorage.getItem('selectedSeats') co
function sendReservationToServer() {
const selectedSeats = sessionStorage.getItem('selectedSeats')
const reservation = { userId, selectedSeats, showTimeId, movieHallId }
fetch('/bookSeats', {
method: 'post',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(reservation)
}).then(response => {
response.json()
}).then(data => {
theatreHall.innerHTML = `${data} <br> <a href='/home'>Back to main menu</a>`
console.log(`${data}`)
}).catch(err => infoMsg.textContent = err)
sessionStorage.clear()
}
数据
未定义,因为第一个然后的不返回任何内容。要么让它返回response.json()
,要么将第二个中的所有内容移动到第一个中,然后用response.json()
替换数据。它没有返回任何内容,因为response.json是{response.json}。当我移除{}时,它工作了。谢谢你的反馈
@app.route("/bookSeats", methods=["POST"])
def book_seats():
selected_seats = request.json
user_id = selected_seats.get('userId')
seats = json.loads(selected_seats.get('selectedSeats'))
movie_hall_id = selected_seats.get('movieHallId')
seat_ids = []
showtime_id = selected_seats.get('showTimeId')
for seat in seats:
seat_ids.append(db.session.query(Seat).filter(
Seat.seat_number == seat).filter(Seat.movie_hall_id == movie_hall_id).all()[0].stid)
for seat in seat_ids:
reserved_seat = ReservedSeat(
seat_id=seat, show_time=showtime_id, user=user_id)
db.session.add(reserved_seat)
db.session.commit()
reservation = Reservation(
user=user_id, show_time=showtime_id, number_of_tickets=len(seat_ids))
db.session.add(reservation)
db.session.commit()
message = f'{seats} booked successfully'
return jsonify(message)