问题描述:在做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注解,然后启动重新访问问题解决。