Ajax
发布日期:2021-10-22 18:10:44 浏览次数:4 分类:技术文章

本文共 1804 字,大约阅读时间需要 6 分钟。

/HelloServlet.java

 

原来的页面:

  1、浏览器发送请求

  2、服务器其接收到请求,调用对应的servlet进行处理完成会有相应信息生成

 现在的交互(XmlHttpRequest对象):

  1、XmlHttpRequest对象帮我们发送请求

  2、服务器其接收到请求,调用对应的servlet进行处理完成会有相应信息生成

  3、XmlHttpRequest对象接收数据(浏览器引擎就接收不到这个数据了,xhr对象收到这个数据)

 

 

XmlHttpRequest对象:

  所有代理对象均支持XmlHttpRequest对象

xhr原生编程:(非常麻烦)

  var xhr = 

我们使用jQuery包装后的ajax请求

 

 

jquery操作ajax  1、//$("#btn").click(function(){      //$.get(url, [data], [callback], [type]);//中括号代表这个参数可以不用传      //data 传递的数据,"k=b&k=v" 传递一个js对象      //callback,定义一个回调函数,随便定义一个参数,这个参数就封装了服务器返回的数据      //[type],返回的数据类型,可以不写,自动判断      //type:返回内容格式:xml,html,script,json,text,_default      $.get("${ctp}/getinfo",{lastName:'长沙',age:18},function(abc){          alert(abc);      });  });

 

 

 

改变了我们传统的交互方式:

1.发请求
2.服务器收到请求,处理请求经常要给页面携带数据,request.setAttribute("map",map);转发到页面
3.浏览器接收到页面数据,在页面使用el表达式获取数据
导致整个页面刷新:造成很大的服务器负担

ajax只让服务器返回我们需要的部分数据即可:不用返回整个页面,;xhr替代浏览器来接收响应,发送请求:利用dom增删改的方式来改变页面效果

什么是ajax:
xhr对象向服务器发送请求,并收到相应数据,利用DOM增删改的方式改变页面效果
异步:不会阻塞浏览器
同步:会阻塞浏览器:因为需要等到服务器整个处理完请求,完成响应以后才能做其他事情

//post和get请求的用法是一样的,只是一个是post请求,一个是get请求

 

将返回的字符串,转换为JSON对象/JS对象    第一种:var obj = JSON.parse(data);            alert(obj.lastName);                第二种:type,最后一个参数直接指定为json,jQuery自动转为json对象            $(url,"lastName=admin&age=18",function(){                alert(data.lastName);            },"json");

 


底层ajax请求:    //发送ajax请求    //所有请求的属性都是可以通过这个js定义的    var option = {        url:"${ctp}/getstudentinfo",//规定请求地址        type:"GET",//请求类型        data:{"lastName":"haha",age:22},//发送的数据        async:true,//调整异步:true异步,false同步        success:function(data){            alert("成功!"+(typeof data));        },        dataType:"json"    };    $.ajax(options);    //禁用默认行为    return false;    //默认ajax是异步的,数据的接收和下面方法的执行,不冲突//异步:不用等待整个ajax请求完成才执行下面的方法

 

转载于:https://www.cnblogs.com/hk-zsg/p/11346723.html

转载地址:https://blog.csdn.net/weixin_30402343/article/details/102315345 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:监听器、过滤器
下一篇:Vue入门

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月14日 14时17分40秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

php+跑buth,php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的 2021-06-24
cms 单点登录 php,Yii2 中实现单点登录的方法 2021-06-24
oracle自己运行,创建Oracle自动执行Job 2021-06-24
oracle报错00020,oracle启动 ORA-00020: maximum number of processes (%s) exceeded错误 2021-06-24
chmod 赋权所有_chmod 权限 命令详细用法 2021-06-24
html代码翻译_[译]您知道 HTML 的键盘标签吗? 2021-06-24
html抽奖代码_JavaScript高手之路:封装抽奖效果 2021-06-24
hadoop 3.3 一直停留在running wordcount_蛋价持续下跌,今日跌破3.3元大关!深秋季节价格还能反弹吗?... 2021-06-24
的流程图做完后如何保存_2019超火的半永久眉是哪款?做完后我们如何护理?... 2021-06-24
去除logo 高德地图api_深圳品牌logo升级如何保持原型的同时更具创新? 2021-06-24
二重积分转换成极坐标_二重积分转换极坐标r的范围如何确定? 2021-06-24
python中倒背如流_八字基础知识--倒背如流篇 2021-06-24
以太坊地址和公钥_以太坊地址是什么 2021-06-24
linux查看wifi信号命令_linux – 获取WIFI信号强度 – 寻求最佳方式(IOCTL,iwlist(iw)等)... 2021-06-24
npm 不重启 全局安装后_解决修复npm安装全局模块权限的问题 2021-06-24
vs格式化json 不生效_vs code 格式化 json 配置 2021-06-24
go 字符串反序列化成对象数组_Fastjson 1.2.24反序列化漏洞深度分析 2021-06-24
onmessage websocket 收不到信息_WebSocket断开重连解决方案,心跳重连实践 2021-06-24
hibernate mysql 缓存_hibernate和mysql的缓存问题,没辙了! 2021-06-24
abp框架 mysql_ABP框架使用Mysql数据库 2021-06-24