問題:在最新課程頁面(NewBook.vue)點選某一項課程,通過傳遞該課程的 id 跳轉至課程詳情頁(Bookdetail.vue),採取的跳轉方式是宣告式導航,即 <router-link :to="{ path: '/newcourse', query: { id: item.courseCode } }"></router-link>
先看最新課程頁面程式碼:
下面是詳情頁面程式碼,使用async發起非同步請求,接收資料是沒有問題的
但是在使用axios.then接收資料的時候出現了問題,
於是百度查詢,看到了一個類似的程式碼,但是它能正常接收資料,它的程式碼如下:
發現它的請求路徑沒有攜帶params引數,是把id拼接到路徑當中,於是我也嘗試使用拼接,去掉params引數,果然成功了
但是為什麼不能使用params引數呢?百度之後終於找到原因了!參考https://segmentfault.com/q/1010000014743286
解決方法:當我們使用params引數時,此時發起的網路請求路徑是這樣的:
當我們不使用params,而是採取路徑拼接,路徑是這樣的:
我們可以看出明顯的區別!!!其實問題就出在請求路徑上面了,後臺的介面設定是這樣的: