在SSM项目中,前端能成功请求到后端,后端运行正常,但是返回给前端的状态却是404 Not Found,代码如下
@Controller
@RequestMapping("/reportFlow")
public class ReportFlowController {
@RequestMapping(value="/deleteReportFlow",method=RequestMethod.GET)
public Map<String, String> deleteReportFlow(HttpServletRequest request){
Map<String, String> map=new HashMap<>();
//...(1)
map.put("msg","success");
}
return map;
}
}
前端使用ajax进行请求
$.ajax({
url:'<%=basePath%>reportFlow/deleteReportFlow.action',
data:{"reportrecordIds":JSON.stringify(reportrecordIds)},
dataType:"json",
type:"get",
contentType:"application/json",
async:false,
success:function(data){
alert("success");
searchUser();
$('#recordTable').datagrid('unselectAll');
},
});
前端成功请求到后端,注释处省略的代码(1)也能正常执行,但是始终无法alert出success字符串,且控制台报reportFlow/deleteReportFlow 404 Not Found,后来上网查了一下,如果想返回json字符串,必须使用@RequestMapping+@ResponseBody,只使用@RequestMapping只能返回页面,自然会报404错误