关于 java web 开发中 ajax 一部请求使用的注意事项
在 web 开发当中,原生的 ajax 异步使用还是较少的,因为 jQuery 为我们提供了更好的封装:jQuery.ajax(url,[settings])。
通过 http 请求加载远程数据,可以使浏览器在不刷新页面的情况下来进行局部页面数据的改变,所以 ajax 还是很有那必要了解并学习一下的。
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
ajax 回调函数
如果要处理 $.ajax() 得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。 而一般日常使用的是处理成功后返回的信息,主要还是使用 success
数据类型
可以处理的主要数据类型有 xml、html、就送、jsonp、script、text,通过 dataType 选项还指定不同数据处理方式 。其中,text 和 xml 类型返回的数据不会经过处理。数据仅仅简单的将 XMLHttpRequest 的 responseText 或 responseHTML 属性传递给 success 回调函数。
发送数据到服务器
默认情况下,Ajax 请求使用 GET 方法。如果要使用 POST 方法,可以设定 type 参数值。
实例加载并执行一个 js 文件
1
2
3
4
5
$.ajax({
type: "GET",
url: "test.js",
dataType: "script"
});
保存数据到服务器,成功时显示信息
1
2
3
4
5
6
7
8
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
装入一个 html 网页最新版
1
2
3
4
5
6
7
$.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});
拿 json 来说
而后台处理请求时,若使用的是 SSM,只需添加 jackson jar 包,在 Controller 上添加@Responsebody,这样就会自动将返回数据封装为 json 对象,并在前端 success 函数中进行解析。
若是使用原生 servlet 处理请求,为更好的对数据进行封装,须引入 json 相关的 jar 包,将数据封装为 JSONObject 对象或 JSONArray 对象,设置 response.setCharacterEncoding(“utf-8”),调用 response.getWriter().write(jsonObject.toString()) 将数据返回到前端,后在 success 中进行解析。
高层方法