问题描述
我正在前端使用fetch将数据发送到我的烧瓶后端,以便预订电影座位。整个过程都可以正常进行,直到客户端等待响应(未定义)为止。因此,基本上数据库保存数据,唯一的问题是发送给客户端的响应。我用jsonify通常可以正常工作。有人可以告诉我我想念什么吗?预先感谢。
这是JS代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/myNavHostFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/navigation_layout" />
</LinearLayout>
这是处理请求的烧瓶控制器:
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()
}
解决方法
data
未定义,因为第一个then
不返回任何内容。要么让它返回response.json()
,要么将第二个then
中的所有内容移到第一个data
中,并用response.json()
替换。{p>