Ajax简介
一、概述:
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。
二、ajax分类:
1、js原生的ajax:一般不怎么用了。
2、jq的ajax:现在用的比较多。
3、区别:
jquery是将原生的js封装了的,js方式的话 是需要写好多代码判断是什么浏览器来正确使用不同的ajax版本jquery已经写好判断了的,
用$.ajax $.get $.post 甚至JSONP都已经封装好了的 都不再需要自己写好多判断 也不用写原生js的ajax代码了的 直接调用就OK 。
相比传统的用法,jq的看起来更简洁,更容易理解,相当于往对象里面放值就可以自动化使用了, 其实核心都是XMLHttpRequest对象的调用,
和其对象属性的掌握。 javascript存在兼容性问题,这些问题,jquery可以直接解决了。
再者jquery封装好了,调用更简洁,效果上是一样的。所以,我基本是用jquery。
三、jq的Ajax(重点):
1、表达方式1:post方式提交
var param={name:name,age:age};
$.post(url,param,function(data){
});
提交传的参数一般采用json格式;
一般返回的数据data也是采用json格式,如果要获取返回的值,需要解析json格式的数据“data”,并将其转换为js对象:
var jsonStr=jQuery.parseJSON(data);(需要引入jquery的min.js)
或: var jsonStr=$.parseJSON(data);
2、表达式2:getf方式:
var param={name:name,age:age};
$.get(url,param,function(){
});
POST/GET 参数:
url:请求的路径 servlet
params:请求的参数 参数的形式为 key/value的形式
方式1: key=value username="zhangsan"
方式2: json方式 {"key":value,"key1":value1}
fn:回调函数,响应成功之后调用的函数
function(d){函数内容}: d就是响应回来的数据
type:返回数据的格式
常用的值:json
默认字符串
注意:
参数的中文乱码问题
get使用 new String()方式解决
post使用request.setCharacterEncoding("utf-8")
响应的中文乱码问题:response.setContentType("text/html;charset=utf-8");
3、$.ajax, 这种方式最灵活:
$.ajax({
url: url,//地址
data: data,//参数
type: 'POST',//提交方式 可以选择post/get 推荐post
async: false,//同步异步
dataType: 'json',//返回数据类型
success:function(data){
accidentList = data.list;
//这里可以直接取data里面的数据了,因为设置返回值为json方式。
}
});
四、ajax同步、异步的区别:
同步:当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,等待服务器返回数据,页面出现假死状态,当接收到sever端数据完毕后才会继续运行其他代码页面假死状态解除。
异步:当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行相应操作。

浙公网安备 33010602011771号