用jquery ajax方式提交form表单,出现405错误

出现错误的根本原因:
后台接收的时候,接收文件用的是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);
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值