基础2.通过Ajax获得servlet数据(最基础)
2017-01-04 21:51
330 查看
案列一:从服务器的得到输出的数据
Jsp界面
AjaxServlet界面
test.Js界面
Jsp界面
<script type="text/javascript" src="test.js"></script> //引入js中的script语句 <body> <form action="AjaxServlet"> //这里提交到哪里和下面的和谁连接没啥关系,这里改成AjaxServlet1 <input type="button" value="ok" id="ok"> //下面不变照样能够得到一样结果 </form> </body>
AjaxServlet界面
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("connection succces"); response.getWriter().print("connection ok"); //这里为什么是write因为下面是responseText }
test.Js界面
/** * Ajax建立与服务器端的连接 接收服务器的请求 处理服务器返回的数据 * 开发步骤: * 1.创建XMLHttpRequest对象 * 2.打开和服务器的连接 * 3.发送数据 * 4.接收服务器端的响应 */ /** * 1.创建XMLHttpRequest 对象 */ function createXMLHttpRequest() { //万能模板 var XMLHttpReq; if (window.XMLHttpRequest) { // 是Mozilla浏览器 XMLHttpReq = new XMLHttpRequest(); } else if (window.ActiveXObject()) { // IE浏览器 try { XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP"); //因为ie也会出现不兼容所以抛异常 } catch (e) { XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); //微软的,记住就好 } } return XMLHttpReq; } //ok按钮点击时触发事件,这里我和之前所想的思维都不一样,因为正常情况window.onload一旦加载下面没有点击onclick,那么该方法不执行,然而后面当你点击按钮时,因为已经加载结束了,按道理来讲就算里面为onclick这个方法也不会执行,因为你在window.onload里面,大方法都没有执行,方法里面的方法是不会执行的,但这里还是触发了时间,这也说明老师说的window.onload除了有加载情况下,还有监听的作用,一点触发事件就会触发该方法,这点要明白,同时如果当你去window.onload=function,这个外层的方法,就算你触发事件也不会有反应,因为 document.getElementById("ok")是要放在方法里,而不是放在外面。 window.onload=function(){ //加载时运行,同时具有监听的作用 document.getElementById("ok").onclick=function(){ //通过按钮触发事件 //1.创建XMLHttpRequest对象 var xmlReq=createXMLHttpRequest(); //2.打开和服务器端的连接 xmlReq.open("GET","AjaxServlet",true);//有GTE和POST方法,中间代表连接路径,true代表异步 //3.发送数据 xmlReq.send(null); //因为采用的是get方法,所以方法为null //4.接收服务器的响应 xmlReq.onreadystatechange=function(){ if(xmlReq.readyState==4){//判断对象状态是否完成 if(xmlReq.status==200){ //信息已经成功返回 var xmltext =xmlReq.responseText; //得到AjaxServlet往外输出的数据 alert("data-"+xmltext); //输出结果:data-connection ok } } } } }
相关文章推荐
- jdk环境变量配置
- 百度语音REST接口使用(python)
- SSM框架简单介绍以及maven环境搭建
- Openfire 的安装和配置
- 端口号、IP、网关的作用
- 面向对象的过程
- 1003. Emergency 解析
- 关于Python的 求解答Bunch Pattern
- 硬链接与软连接的区别
- caffe.exe (caffe.bin)用法回顾
- yum alias
- Linux 同步机制:读写锁
- Hadoop学习路线
- 欧拉函数问题
- 2017.01.04 这几天并不是偷懒,而是要忙自己的
- MaxScale:实现MySQL读写分离与负载均衡的中间件利器
- Linux安装VMware Tools笔记
- 使用Trigger审计一张表的DML操作
- Java中继承的使用
- jQuery join 与 split的区别 以及 地图用法