出现错误的根本原因:
后台接收的时候,接收文件用的是CommonsMultipartFile.如果表单中一个文件都没有,则会报405错误;
解决方案:
改用MultipartFile方式来接收文件即可
错误的代码
@RequestMapping(value = "/apply", method = {RequestMethod.GET, RequestMethod.HEAD, RequestMethod.POST})
@ResponseBody
public Map<String, Object> apply(
@RequestParam(value = "agentProxy", required = false) CommonsMultipartFile agentProxy,
@RequestParam(value = "agentProxy_defen", required = false) CommonsMultipartFile agentProxyOfdefen,
@RequestParam(value = "ApplyArbitrationInof", required = true) String ApplyArbitration,
@RequestParam(value = "baseEvidence", required = false) String baseEvidence,
HttpServletRequest request) {
Map<String, Object> retMap = new HashMap<String, Object>();
retMap = applyArbitrationServiceImpl.apply(agentProxy, agentProxyOfdefen,ApplyArbitration, baseEvidence, request);
return retMap;
}
正确的方式:
@RequestMapping(value = "/apply", method = {RequestMethod.GET, RequestMethod.HEAD, RequestMethod.POST})
@ResponseBody
public Map<String, Object> apply(
@RequestParam(value = "agentProxy", required = false) MultipartFile agentProxy,
@RequestParam(value = "agentProxy_defen", required = false) MultipartFile agentProxyOfdefen,
@RequestParam(value = "ApplyArbitrationInof", required = true) String ApplyArbitration,
@RequestParam(value = "baseEvidence", required = false) String baseEvidence,
HttpServletRequest request) {
Map<String, Object> retMap = new HashMap<String, Object>();
retMap = applyArbitrationServiceImpl.apply(agentProxy, agentProxyOfdefen,ApplyArbitration, baseEvidence, request);
return retMap;
}
前端代码:
核心:zhongcaiForm.ajaxSubmit(options);
/** 请求地址 */
var url = baseUrl+ 'user/oper/arbi/applyarbitration/apply';
$('#confimApply').click(function () {
/************申请人(企业)身份**************/
var peti_compa_name = $('.peti_compa_name').text();
var peti_compa_address = $("input[name='peti_compa_address'] ").val();
var peti_compa_phone = $('.peti_compa_phone').text();
var postalCode = $("input[name='postalCode'] ").val();
var fax = $("input[name='fax'] ").val();
var email = $("input[name='email'] ").val();
var petitioner_type = $("#petitioner_type").val(); //申请人身份(1:企业,2:个人)
/**申请人-法定代表人*/
var legalOfPeti_name = $('.legalOfPeti_name').text();
var legalOfPeti_duty = $("input[name='legalOfPeti_duty']").val();
var legalOfPeti_address = $("input[name='legalOfPeti_address']").val();
var legalOfPeti_phone = $('.legalOfPeti_phone').text();
var legalFax = $("input[name='legalFax'] ").val();
var legalPostalCode = $("input[name='legalPostalCode'] ").val();
var legalEmail = $("input[name='legalEmail'] ").val();
/**申请人-代理人*/
var agentOfPetitioner_name = $(".agentOfPetitioner").text();
var agentOfAddress = $("input[name='agentOfAddress'] ").val();
var agentOfPhone = $(".agentOfPhone").text();
var agentOfFax = $("input[name='agentOfFax'] ").val();
var agentOfPostalCode = $("input[name='agentOfPostalCode'] ").val();
var agentOfEmail = $("input[name='agentOfEmail'] ").val();
//以下三个信息不展示,需要返回
var agentOfType = $("input[name='agentOfType'] ").val();
var agentOfCredentialsId = $("input[name='agentOfCredentialsId'] ").val();
var agentOfDuties = $("input[name='agentOfDuties'] ").val();
/************被申请人(个人身份)**************/
var defen_p_name = $(".defen_p_name").text();
var defen_p_address = $("input[name='defen_p_address'] ").val();
var defen_p_phone = $(".defen_p_phone").text();
var defen_p_fax = $("input[name='defen_p_fax'] ").val();
var defen_p_postalCode = $("input[name='defen_p_postalCode'] ").val();
var defen_p_email = $("input[name='defen_p_email'] ").val();
var defendant_type = $("#defendant_type").val(); //被申请人身份(1:企业,2:个人)
/************被申请人(企业身份)**************/
var defen_compa_name = $(".defen_compa_name").text();
var defen_compa_address = $("input[name='defen_compa_address']").val();
var defen_compa_phone = $(".defen_compa_phone").text();
var defen_compa_fax = $("input[name='defen_compa_fax']").val();
var defen_compa_postalCode = $("input[name='defen_compa_postalCode']").val();
var defen_compa_email = $("input[name='defen_compa_email']").val();
/**被申请人-法定代表人*/
var legalOfDefen_name = $(".legalOfDefen_name").text();
var legalOfDefen_duty = $("input[name='legalOfDefen_duty']").val();
var legalOfDefen_adress = $("input[name='legalOfDefen_adress']").val();
var legalOfDefen_phone = $(".legalOfDefen_phone").text();
var legalOfDefen_fax = $("input[name='legalOfDefen_fax']").val();
var legalOfDefen_postalCode = $("input[name='legalOfDefen_postalCode']").val();
var legalOfDefen_email = $("input[name='legalOfDefen_email']").val();
/**被申请人-代理人*/
var agentOfDefendant = $(".agentOfDefendant").text();
var agentOf_defen_address = $("input[name='agentOf_defen_address']").val();
var agentOf_defen_phone = $(".agentOf_defen_phone").text();
var agentOf_defen_fax = $("input[name='agentOf_defen_fax']").val();
var agentOf_defen_postalCode = $("input[name='agentOf_defen_postalCode']").val();
var agentOf_defen_email = $("input[name='agentOf_defen_email']").val();
//以下三个信息不展示,需要返回
var agentOf_defen_type = $("input[name='agentOf_defen_type']").val();
var agentOf_defen_credentialsId = $("input[name='agentOf_defen_credentialsId']").val();
var agentOf_defen_duties = $("input[name='agentOf_defen_duties']").val();
var loanAmount = $("input[name='loanAmount'] ").val(); // 争议金额
var request = $("#request").val(); // 请求
var reason = $("#reason").val(); // 理由
var verCode = $("input[name='verCode'] ").val(); // 短信验证码
/***********************申请人信息*******************/
var petitioners = []; //申请人数组对象
legalPersonObj = { //申请人的法定代表信息
address: legalOfPeti_address,
email: legalEmail,
fax: legalFax,
legalPersonDuties: legalOfPeti_duty,
name: legalOfPeti_name,
phone: legalOfPeti_phone,
postalCode: legalPostalCode
};
var petitioner = {
address: peti_compa_address,
credentialsId: '',
email: email,
fax: fax,
legalPerson: legalPersonObj,
name: peti_compa_name,
phone: peti_compa_phone,
postalCode: postalCode,
type: petitioner_type
};
petitioners.push(petitioner);
/***********************申请人-代理人信息*******************/
var agentOfPetitioner = {
address: agentOfAddress,
agentType: agentOfType,
credentialsId: agentOfCredentialsId,
duties: agentOfDuties,
email: agentOfEmail,
fax: agentOfFax,
lawOffice: '',
name: agentOfPetitioner_name,
phone: agentOfPhone,
postalCode: agentOfPostalCode
};
/***********************被申请人-代理人信息*******************/
var agentOfDefendant = {
address: agentOf_defen_address,
agentType: agentOf_defen_type,
credentialsId: agentOf_defen_credentialsId,
duties: agentOf_defen_duties,
email: agentOf_defen_email,
fax: agentOf_defen_fax,
lawOffice: '',
name: agentOfDefendant,
phone: agentOf_defen_phone,
postalCode: agentOf_defen_postalCode
};
/***********************被申请人信息*******************/
var defendants = []; // 被申请人数组对象
defen_legalPersonObj = { //被申请人的法定代表信息
address: legalOfDefen_adress,
email: legalOfDefen_email,
fax: legalOfDefen_fax,
legalPersonDuties: '',
name: legalOfDefen_name,
phone: legalOfDefen_phone,
postalCode: legalOfDefen_postalCode
};
var defendant = {
address: defen_p_address,
credentialsId: '',
email: defen_p_email,
fax: defen_p_fax,
legalPerson: defen_legalPersonObj,
name: defen_p_name,
phone: defen_p_phone,
postalCode: defen_p_postalCode,
type: defendant_type
};
defendants.push(defendant);
var ApplyArbitrationInof = {
agentOfDefendant: agentOfDefendant,
agentOfPetitioner: agentOfPetitioner,
defendants: defendants,
loanAmount: loanAmount,
petitioners: petitioners,
reason: reason,
request: request
};
var zhongcaiForm = $("#zhong_cai_form");//授权代理书模板
// zhongcaiForm.append('ApplyArbitrationInof', JSON.stringify(ApplyArbitrationInof));
// zhongcaiForm.append('baseEvidence', $('#baseEvidence').val());
// zhongcaiForm.append('vercode', verCode);
console.log(zhongcaiForm)
// $.ajax({
var options = {
url : url,
type : 'POST',
dataType: 'json',
data: {
ApplyArbitrationInof: JSON.stringify(ApplyArbitrationInof)
},
// processData: false,
// contentType: false,
success : function(data) {
console.log(data);
var jsonData = data;
if (data.retCode === undefined) {
jsonData = JSON.parse(data);
}
if (jsonData.retCode === 1) {
alert('提交成功');
window.location.reload();
return;
}
alert(jsonData.retMsg);
},
error : function() {
alert('提交失败');
}
};
zhongcaiForm.ajaxSubmit(options);
});