springmvc ajax表单重复提交,基于SpringMVC与jquery的ajax提交表单的若干状况详解

在平常的业务中,咱们每每使用的是ajax提交页面数据,而不用form的action来提交整个表单。如今我来分享一下我在平常工做中遇到的一些问题。javascript

1、$.post、$.get、$.ajax三者的区别:java

顾名思义,$.post和$.get分别是采用post方式和get方式向服务器发送请求。二者的不一样是,get请求的参数是在url直接以url?name1=value1&name2=value2的形式拼接而成,而post请求的参数会以请求正文的形式传送到服务器,这个学习过javaweb知识的应该都知道,在此也不赘述。jquery

在这里主要想讲的是关于同异步发送请求的。$.post和$.get默认是采用异步的形式向服务器发送请求,但咱们的需求中不少状况须要获得服务器的返回值来判断下一步的操做,这个时候就须要用到$.ajax了。web

var flag=false;

$.ajax({

type: "get",

url: "xxxxxx",

async:false,

data: {username:name, password:pwd},

dataType: "json",

success: function(data){

if(data>0){

flag=true;

}

}

});

如以上代码,type来设置请求方式,async则设置的是同步或者异步,默认为true异步的,此时设置为false。若是用一般的$.post和$.get的话,flag的值是不会随着返回值data的值发生改变的。ajax

2、文件上传spring

ajax上传文件一直都是一个比较头疼的问题,在这里我用的是jquery的一个扩展框架,jquery.form.js,此包提供了一个$ajaxSubmit方法,很好的解决了springmvc下文件上传的问题,固然,form表单的method为post,type为multipart/form-data,示例代码以下:json

$(#id).ajaxSubmit({

type:'post',

url:'xxxxxx',

data: {

uername: name,

content: content

},

success:function(data) {//回调函数

}

});

此时,表单数据和文件数据会保存在request中传入服务器。后台获取代码以下:服务器

MutlipartHttpServletRequest multipart =(MutlipartHttpServletRequest )request;//把request转为上传文件专用的request

Map dataMap =request.getParameterMap();//获取普通表单数的键值对

Map fileMap =request.getFileMap();//获取上传文件的键值对,当未上传文件时,这个键值对会以普通数据存在于dataMap中而不是fieMap中

暂时这么多把,想起来了再加。mvc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值