做程序最怕的就是一样的代码,不一样的结果.真的火大
ajax提交415 error
很郁闷的是,同样的请求方式,别的方法就行,这个不行....
发生错误的调用过程图片:
正确的调用过程图片:
都用同一种写法,为什么会有成功跟失败的两种结果呢?
错误的后台处理代码:
@RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody
public ResultBean add(HttpServletRequest request,NdpApply ndpApply) {
Account account = loadAccountFromSession(request);
if (account == null) {
return createdResultBean("0",null,"");
}
NonDirectoryProcurementApply apply = ndpApply.getApply();
if(apply==null){
return createdResultBean(ERROR,null,"添加失败");
}
apply.setCreatorName(account.getAccountName());
apply.setCreateTime(new Date());
apply.setDeleteStatus(false);
apply.setStatus(NonDirectoryProcurementApplyStatusEnum.WAIT_COMMIT.getCode());
nonDirectoryProcurementApplyMapper.insertSelective(apply);
if(ndpApply.getAttachmentList()!=null&&ndpApply.getAttachmentList().size()>0){
nonDirectoryProcurementApplyAttachmentMapper.batchInsert(ndpApply.getAttachmentList());
}
return createdResultBean(SUCCESS,apply.getId(),"添加成功");
}
--------------------------------------------------------------------
正确的后台处理代码:
@RequestMapping(value = "/update",method = RequestMethod.POST)
@ResponseBody
public ResultBean update(HttpServletRequest request,ApprovalNodeTypeListVo approvalNodeTypes) throws Exception {
Long tenantId = loadAccountFromSession(request).getTenantId();
ApprovalType approvalType = approvalTypeService.selectByTypeCode(tenantId,approvalNodeTypes.getTypeCode());
Long typeId = approvalType.getId();
approvalNodeTypeService.deleteByTypeId(typeId);
if(approvalNodeTypes!=null&&approvalNodeTypes.getApprovalNodeTypes()!=null&&approvalNodeTypes.getApprovalNodeTypes().size()>0){
for(ApprovalNodeType nodeType:approvalNodeTypes.getApprovalNodeTypes()){
nodeType.setApprovalTypeId(typeId);
}
approvalNodeTypeService.batchInsert(approvalNodeTypes.getApprovalNodeTypes());
}
return createdResultBean(SUCCESS,null,"修改成功");
}
------------------------------------------------------------------------------
错误的请求入参:
@Getter
@Setter
public class NdpApply {
NonDirectoryProcurementApply nonDirectoryProcurementApply;
List attachmentList;
}
正确的请求入参:
@Getter
@Setter
public class ApprovalNodeTypeListVo {
List approvalNodeTypes;
Integer typeCode;
}
求大神帮忙解答疑惑,我不想用设置'Content-Type','application/json' 这种方式,只想搞明白,为什么同样的请求方法有不同的结果?