情況1:如果你是第一次往cookie里面寫手機號,然后點擊開始秒殺按鈕,結果就是頁面上沒有任何變化既不會提示成功也不會提示失敗,按下f12進行網絡追蹤,會發現響應狀態碼是500,當我們點擊那個報錯信息后又會彈出一個404的錯誤,此時去后臺看日志輸出,提醒我們說request not supported,打開數據庫,這一次秒殺是被執行了的,此時再次刷新秒殺詳情頁,再次點擊開始秒殺按鈕,能夠正常更新按鈕里面的內容,此時提醒我們為重復秒殺。證明我們第一次秒殺成功后的結果沒能順利返回前端,這就為json轉換問題的定位提供了依據;
2017-06-14
更正一下,是405,get請求不支持錯誤
2017-06-14
已解決,原因是我的successkilled的mapper文件里面的關聯查詢用到了懶加載,只需要將fetchtype=“lazy”改為fetchtype=“eager”即可。
情況1:如果你是第一次往cookie里面寫手機號,然后點擊開始秒殺按鈕,結果就是頁面上沒有任何變化既不會提示成功也不會提示失敗,按下f12進行網絡追蹤,會發現響應狀態碼是500,當我們點擊那個報錯信息后又會彈出一個404的錯誤,此時去后臺看日志輸出,提醒我們說request not supported,打開數據庫,這一次秒殺是被執行了的,此時再次刷新秒殺詳情頁,再次點擊開始秒殺按鈕,能夠正常更新按鈕里面的內容,此時提醒我們為重復秒殺。證明我們第一次秒殺成功后的結果沒能順利返回前端,這就為json轉換問題的定位提供了依據;
情況2:如果cookie里面已經注冊過手機號,選擇一個之前沒有秒殺過的商品進行秒殺,此時點擊秒殺按鈕,同樣沒有任何頁面刷新及提示,按下f12追蹤網絡,發現響應狀態碼依然是500,但此時點擊進去會有詳細的異常信息日志,按照這個日志提示,最終找到問題的根源所在,那就是SuccessKilled的mapper文件里面在做關聯查詢時用到懶加載,這就導致在json在不到達前端時其中的一些屬性只要使用它是不會幫我們映射進對象里的,所以此時json中的一些屬性就為空,未能完成json的序列化,因此將這樣的json對象返回前臺頁面時就會造成前端頁面無法解析。