1、問題
使用jQuery的ajax請求 Servlet 時,返回沒有進入ajax的success回調函數,浏覽器控制台顯示 [HTTP/1.1 405 Method not allowed]。
2、解決方法
網上調查,大多都是如下解釋
Apache、IIS、Nginx等絕大多數web服務器,都不允許靜態文件響應POST請求,否則會返回“HTTP/1.1 405 Method not allowed”錯誤。 即,將出錯頁面表單的method=“post”改為“get”即可
改了 ajax 請求方法,post 和 get 方式都不行,但感覺就是 post 和 get 請求方式的問題了。最後問題解決,原因如下:
處理請求的 Servlet 類裡只重寫了 service 方法,沒有重寫doGet 和 doPost 方法,重寫 doGet 和 doPost 方法後,ajax正常返回。