众所周知,Ajax是一种非常简单的从前端向后端请求数据的方法,也因为它简洁明了,所以被广泛应用,但是新手可能会有很多的疑问,什么是Ajax?Ajax有什么作用?接下来,小编就来给大家分享一下。
Ajax全名async javascript and XML(异步JavaScript和XML),是前后台交互的能⼒,
也就是我们客户端给服务端发送消息的⼯具,以及接受响应的⼯具。
一、Ajax的请求。
Ajax分为同步请求和异步请求。
同步请求是指当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于生活中的排队,必须等待前一个人完成自己的事物,后一个人才能接着办。也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态。
默认异步是当发出请求的同时,浏览器可以继续做任何事,Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。一般默认值为true,异步。异步请求可以完全不影响用户的体验效果,无论请求的时间长或者短,用户都在专心的操作页面的其他内容,并不会有等待的感觉。
二、Ajax的操作流程。
1、首先通过PHP页面将数据库中的数据取出
2、取出后转成json格式的字符串,后利用ajax把字符串返还给前台
3、再利用json.parse解析通过循环添加到页面上
4、那么反之,前端的数据可以利用ajax提交到后台
5、但是后台是没有办法直接把这些数据插入到数据库中,所以要先提交到PHP页面上
6、最后再由PHP将数据插入到数据库中
三、执行Ajax。
function upBusiness(ids) {
if(ids.length > 0){
$.ajax({
type: "POST",//请求类型为post
contentType: "application/json",//内容类型为json
url: "/ba/businessBaseInfo/upBusiness",//请求路径为
dataType: "json",//数据类型为json
data: JSON.stringify(ids),//将json转为String类型
success: function (data) {//成功
if (data && data.returnValue) {//如果数据返回的是controller中的数据
layer.msg("上报成功", {time: 1500, icon: 1}, function () {
initPrecautionsTable();//弹出一个上报成功的弹框,并刷新列表
});
} else {//否则
layer.msg(data.msg, {time: 2000, icon: 2}, function () {
initPrecautionsTable();//弹出一个错误提示
});
}
},
error: function () {//上报异常的时候执行此方法
layer.msg("上报异常", {time: 2000, icon: 2}, function () {
initPrecautionsTable();//弹出弹框显示上报异常并刷新列表
});
},
});
}else{
layer.confirm("请至少选中一条数据!", {
icon: 2,
title: '提示'
},//否则提示至少选中一条数据
function (e) {
layer.close(e);
});
}
四、Ajax的优势xml HttpResult对象方法描述。
以上就是Ajax的标准写法,其实Ajax最大的优势就是它不需要插件的⽀持,原⽣ js 就可以使⽤,不需要刷新⻚⾯就可以更新数据,减轻服务端和带宽的负担
,但是它也有个小小的缺点,就是搜索引擎的⽀持度不够,因为数据都不在⻚⾯上,搜索引擎搜索不到。