问题描述:在做ajax请求时,通过debug能够进入到java后台,但是前台还是报404找不到url
前台ajax代码:
$.ajax({
url:"${ctx}/arrange/scheduleApproveMain/newSubmit",
type: "post",
data:params,
async :false,//默认是true:异步,false同步
dataType: "json",
traditional: true,
success: function (dates) {
$.each(dates,function(key,value){
if(value == "true"){
$.jBox.alert("提交成功!","系统提示")
}else{
$.jBox.alert("提示失败!","系统提示");
}
})
}
});
后台写法:
@RequestMapping(value = "newSubmit")
public String newSubmit(User user,String officeId,Model model,String remarks,String scheduleMonth,String pbBeginTime,String pbEndTime,
String approveUsers,RedirectAttributes redirectAttributes,HttpServletRequest request, HttpServletResponse response){
Map<String,String> map = new HashMap<String,String>();
//实例化审批对象
ScheduleApproveMain scheduleApproveMain = new ScheduleApproveMain();
//获得申请人信息
user = UserUtils.getUser();
//获得要保存的id
String id = arrangeUtil.getStringId();
String name = user.getCompany().getName();
String officeName = user.getOffice().getName();
scheduleApproveMain.setId(id);
scheduleApproveMain.setBusinessId("1");
scheduleApproveMain.setTitle(title);
scheduleApproveMain.setApplicationContent(remarks);
scheduleApproveMain.setApplicationUname(user.getLoginName());
scheduleApproveMain.setApplicationDate(String.valueOf(new Date()));
Office office = new Office();
office.setId(officeId);
scheduleApproveMain.setOffice(office);
scheduleApproveMain.setScheduleBeginDate(pbBeginTime);
scheduleApproveMain.setScheduleEndDate(pbEndTime);
scheduleApproveMain.setCreateBy(user);
scheduleApproveMain.setCreateDate(new Date());
scheduleApproveMain.setUpdateBy(user);
scheduleApproveMain.setUpdateDate(new Date());
List<ScheduleApproveMain> list = scheduleApproveMainService.findList(scheduleApproveMain);
if (null == list || list.size() ==0){
scheduleApproveMainService.approveSave(scheduleApproveMain);
JSONObject json = new JSONObject();
json.put("check","true");
return json.toString();
}else{
JSONObject json = new JSONObject();
json.put("check","false");
return json.toString();
}
}
经分析是请求没有返回状态码,这是因为我用的是SpringMVC框架,前后端使用JSON传递数据,因为返回的是对象,而忘记了添加
@ResponseBody
所以 Spring对我的返回值进行了映射,但是映射结果又对应不到视图,所以返回了404
正常情况是应该在上边java后台方法上添加@ResponseBody注解,然后启动重新访问问题解决。