Ajax请求
- 作用:可以在不刷新网页的情况下,偷偷的发起一个HTTP请求,在这个请求发送和接收的过程中,用户无法感知到。
- 跨域限制:因为Ajax请求可以在用户不知情的情况下将数据发送到忘网络,所以浏览器会限制Ajax请求的范围。(只能将请求发送给当前网页相同的域名)
jQuery Ajax
- 只需要一行代码就可以发起Ajax请求
- $.post(url, data, successHandler, dataType);
- $.get(url, data, successHandler, dataType);
- $.getJSON(url, data, successHandler);
- $.ajax({
url:url,
type:请求方法'GET'、‘POST’,
data:要发送的数据,
dataType:返回的数据类型 ‘JSON’,
success:function(){} 成功时会被调用,
error:function(){} 失败时会被调用
headers{
请求头1:值,请求头2:值
}
})
请求成功时的数据获取及转换
- 转换:只要设置正确的dataType,jQuery会自动将JSON字符串转换成JS对象。另外:jQuery会自动读取Content-Type相应头,根据响应头的指示尝试类型转换,如响应头是application/json时,会将响应转换成JS对象
- 获取:在success处理函数中,通过第一个参数(通常命名为res)可以获取到转换后的数据对象。
传参
- jQuery的很多方法,参数的位置要求并不严格,有些参数可以完全省略掉,即使后续参数的位置因此而发生变化,也照样可以正常运行。因为jQuery内部对参数的类型进行了判断,可以自动调整参数。
jQuery DOM 操作常用方法总结
- 第一类:获取标签
- $('筛选器'):这是一个方法调用,返回一个jQuery对象。
- 查找所有符合筛选器条件的标签,放入到一个新创建的jQuery对象(标签的容器)中,然后返回这个对象
- 对jQuery对象进行的大多数操作都会迭代到它内部的每一个标签上。
- 第二类:操作标签的属性
- $('筛选器').attr('属性名'):获取属性值
- $('筛选器').attr('属性名',值):设置属性值
- $('筛选器').prop('属性名')
- $('筛选器').prop('属性名',值)
- prop专门用于checked、selected等boolean值属性
- checked="checked"
- readonly="readonly"
- 第三类:控制样式
- $('筛选器').css('样式名',值):一个参数是取值
- $('筛选器').css({
样式名:值,
样式名:值,
。。。
批量赋值
})
- 样式类
- $('筛选器').addClass('样式类')
- $('筛选器').removeClass('样式类')
- $('筛选器').toggleClass('样式类'):有则去掉,没有则加上
- $('筛选器').hasClass('样式类'):是否有某个样式类
- 第四类:创建、添加、删除标签
- $('html string').appendTo($('筛选器')):直接把一大段html添加到指定的标签中
- $('标签名',{属性名:值,属性名2:值...})
- .appendTo()
- .append
- .prepend()
- .prependTo()
- .after()
- .before(0
- .empty()
- .remove()
- 第五类:标签之间的关系
- .parent()
- .parents()
- .children()
- .first()
- .last()
- .prev()
- .prevAll()
- .next()
- .nextAll()
- 第六类:事件
- 常用事件提供了快捷方法
- .click()
- .keyup()
- .keydown()
- .mouseover()
- .submit()
- 如果传入一个函数作为参数,则是监听事件。如果不传参数,则是激发事件。
- 通用方法
- .on(‘事件名’,function(){}):监听事件
- .off('事件名'):取消监听
- .one('事件名',function(){}):一次性监听,一但触发一次就停止监听
- .trigger('事件名'):激发事件
- 常用事件提供了快捷方法
- 第七类:其他常用方法
- .shou():显示
- .hide():隐藏
- .fadeIn():淡入
- fadeOut():淡出
- .slideUp()
- .dlideDown()
- .text():获取或设置内容(标签将会显示为<>)
- .html():标签会被浏览器渲染
- .serialize():收集表单数据转换成urlencoded格式
SpringMVC文件上传
- 在form标签上设置enctype=“multipart/form-data”属性
- 在pom中加入fileupload的jar的坐标
- 在SpringMVC-servlet中配置一个上传的bean对象
- 在请求方法的参数中添加MultipartFile参数,如果上传多个文件,则使用MultipartFile[]