[問題] 明明有進入程式裡的方法,頁面卻跳出404

看板java作者 (= =)時間4年前 (2020/07/27 22:10), 4年前編輯推噓0(0011)
留言11則, 5人參與, 4年前最新討論串1/1
※狀況概述: 就是我透過spring和JQuery ajax,寫了一個簡單的動態下拉式選單的程式, 我在瀏覽器上輸入url,在debugger模式下可以看到執行緒停留在中斷點的位置, 但是瀏覽器卻顯示404,而我在程式裡撈的資料也沒有回到前端,也就是 前端的回呼函數沒有接到撈出來的資料。 ※程式碼: 前端: $(document).ready(function(){ $("#dropdown1").change(function() { //alert("ajax"); $.ajax({ type :"GET", url : "/TestSpringJQueryAjax1/goToTestController.do?method=queryCountry", data : { continentId : $("#dropdown1").val(), }, dataType: "json", mmsuccess : function(data) { //alert(data.list[0].countryId); //var i = 0; $("#dropdown2 option").remove(); data.list.forEach(function(value,index){ $("#dropdown2").append(new Option(data.list[index].countryName, data.list[index].countryId)); //i++; }); }, error:function(data){ alert(data);//進入這裡,並顯示404 } }) }) }); 後端: @ResponseBody public String queryCountry(HttpServletRequest request, HttpServletResponse response) { String continentId = request.getParameter("continentId"); List<Country> list = testDao.queryCountry(continentId); Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("list", list); Gson gson = new Gson(); String result = gson.toJson(resultMap); return result; } ※錯誤訊息: 後端沒跳任何錯誤訊息,只有前端顯示: http://localhost:8080/TestSpringJQueryAjax1/goToTestController.do ?method=queryCountry&continentId=2 404 (Not Found) ------------------------------------- 所以現在卡在為何明明有進入到程式裏面,卻仍然跳404錯誤, 而且既然有加上@ResponseBody這個註釋,但後端撈出來的資料 卻沒有寫進HttpResponse裡面,所以回到前端,回呼函數沒接收到撈出來的資料。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.208.115 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1595859040.A.78A.html

07/28 06:38, 4年前 , 1F
有@GetMapping嗎
07/28 06:38, 1F

07/28 11:10, 4年前 , 2F
測get method時先不透過ajax,直接用瀏覽器網址列輸入完整
07/28 11:10, 2F

07/28 11:11, 4年前 , 3F
request url,然後看輸出.後端那裏(用斷點後印到console檢
07/28 11:11, 3F

07/28 11:11, 4年前 , 4F
視result的內容,這算基本unit test
07/28 11:11, 4F

07/28 11:11, 4年前 , 5F
07/28 11:11, 5F

07/28 16:32, 4年前 , 6F
砍掉,然後寫相同的東西就能跑了?
07/28 16:32, 6F

07/28 18:24, 4年前 , 7F
漏了@Controller跟@GetMapping嗎?直接在網頁輸入訪問的地址
07/28 18:24, 7F

07/28 18:25, 4年前 , 8F
應該會直接在網頁上輸出JSON的字串
07/28 18:25, 8F
原本的寫法是傳統的用註冊檔註冊物件,所以沒有加上@Controller 後來的寫法改成用註釋取代註冊檔,用了@Controller @RequestMapping @Repository 這些註釋。另外一些不能用註釋註冊的物件,比方說sessionfactory才用到註冊檔。 反而上面的code,除了ajax的url改成xxx.do之外,其他的我都沒有修改到。

07/28 22:04, 4年前 , 9F
如果是用xml設定,請一起提供給大家看,要不然我們很難
07/28 22:04, 9F

07/28 22:04, 4年前 , 10F
定位問題
07/28 22:04, 10F

07/28 22:06, 4年前 , 11F
如果有用Java Configuration,也提供相關source code
07/28 22:06, 11F
感謝樓上意見,已經可以了,謝謝。 ※ 編輯: lueichun (1.167.52.218 臺灣), 07/29/2020 09:01:25
文章代碼(AID): #1V7k1WUA (java)
文章代碼(AID): #1V7k1WUA (java)