作者lueichun (= =)
看板Web_Design
标题Fw: [问题] 明明有进入程式里的方法,页面却跳出404
时间Mon Jul 27 22:25:37 2020
※状况概述:
就是我透过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://webptt.com/cn.aspx?n=bbs/java/M.1595859040.A.78A.html
※ 编辑: lueichun (1.162.208.115 台湾), 07/27/2020 22:38:08
1F:推 vi000246: 看起来是你request的body并没有附上去 07/28 13:24
2F:→ vi000246: 後端接不到body 就不认为你的request是有效url 07/28 13:24
3F:→ vi000246: 你可以用fiddler看你的body到底附到哪里去了 07/28 13:24
4F:→ vi000246: 而且你是用get 却用body传参数 接不到是正常的 07/28 13:26
5F:→ vi000246: 建议你把get跟post搞懂 还有api的route机制也看一下 07/28 13:26