ajax处理表单

因为之前一直用表单默认的处理方式,不能返回值,这次的项目需要在页面将表单提交后的结果进行显示,但是本人对前端的其他功能不是特别熟练,所以尝试了ajax提交表单。

表单如下

<form class="inpform" id="uploadForm"   method="post"  enctype="multipart/form-data" >
    <div class="clear">
    	<div class="zcwtitle fl">参数设置</div>
    	<div class="fr"><img src="<%=basePath%>assets/images/reload.png" width="21" height="21" onClick="myrefresh()" class="hand"></div>
		<div id="mssg" class="twoliea01 clear">网关参数<input type="text" name="mssg" value="http://lctest.isignet.cn:13001"></div>
		<div id="mssg" class="twoliea01 clear">应用参数<input type="text" name="appId" value="67f6c99b74484c2b8bcb35473850cdd7"></div><br>
		<div id="mssg" class="twoliea01 clear">用户msspId<input type="text" id="msspid" name="msspid" value="" ></div><br>
    	<div class="zcwtitle fl">印章图片上传</div>
    	<%-- <div class="fr"><img src="<%=basePath%>assets/images/reload.png" width="21" height="21" onClick="myrefresh()" class="hand"></div> --%>
    	<div class="clearkit"></div>
        <div id="mssipdcss" class="twoliea01 clear">上传图片</div>
        <div class="clear uploadfile"><input type="file" id="tbsFile" name="tbsFile" class="ifile" οnchange="licChange();">
        	<div class="scleft01">浏 览</div>
			<div class="scright01 "><input type="text" id="fileinput" οnclick="fileclick()" /></div>
        </div>
        <div class="clearkit"></div>
        <div class="clear zcbutton"><input type="submit" value="提交" class="zc_btn zcon" οnclick="return check();"></div>
	</div>
</form>

在ajax中对表单进行提交:

function login() {
	var formData = new FormData($("#uploadForm")[0]);//构建表单数据
    $.ajax({
    //几个参数需要注意一下
        type: "POST",//方法类型
        dataType: "json",//预期服务器返回的数据类型
        url: $_serverurl+"changeSeal" ,//url
        data: formData,
        processData:false,  //必须false才会避开jQuery对 formdata 的默认处理   
        contentType : false,//必须为false才能自动加上正确的contentType
        success: function (result) {
            
            if (result.erroCode == "0") {
                alert("SUCCESS");
            }else if(result.erroCode == "-1"){
            	 alert("fail");
            };
            
        },
        error : function() {
            alert("异常!");
        }
    });
} 

一开始没有加上processData,后端接收不到ajax请求,而没有加上contentType,后端收到请求,但是拿不到正确的值

后端对formData数据的接收如下:

@RequestMapping(value="changeSeal",method = RequestMethod.POST)
	public @ResponseBody UserResult updateSeal (@RequestParam(value = "tbsFile", required = false)MultipartFile file,
            String appId, String mssg,String msspid,HttpServletRequest request){
通过@RequestParam来接收数据,在谷歌浏览器的抓包过程中发现,上送参数的请求头中的contentType为 multipart/form-data,spring在处理请求参数的时候,如果是json参数,则可以通过@RequestBody来进行处理,将json转化为对象,而如果是表单数据,则需要@RequestParam进行处理


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Ajax提交表单数据到后台时,后台可以通过接收到的数据进行相应的处理和响应。处理的过程可以根据具体需求进行设计和实现。 首先,后台需要解析接收到的表单数据。可以通过解析请求的参数,将表单数据提取出来,以便后续处理。常见的方式包括使用后台语言提供的解析工具或框架,如Java的Servlet、Node.js的Express等。 接着,后台可以根据需要对接收到的表单数据进行验证和处理。可以对数据进行格式验证,确保数据符合预期的要求。进行数据处理的方式可以有很多种,如存储到数据库中、调用其他接口进行业务处理等。 处理完数据后,后台可以根据具体情况进行响应。可以返回一个状态码,表示处理的结果,如200表示成功,400表示请求错误等。同时也可以根据需要返回一些数据给前端,如处理结果提示信息、处理后的数据等。响应的方式可以是返回一个JSON对象,也可以是返回一段HTML代码或其他格式的数据。 最后,前端根据接收到的响应结果进行相应的处理和展示。根据后台返回的状态码进行相应的操作,如显示错误提示信息或展示处理后的数据等。 总之,通过Ajax提交表单数据到后台后,后台需要解析、验证、处理数据,并根据处理结果返回相应的响应结果给前端。整个过程的具体实现可以根据具体需求和技术选型进行设计和开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值