post方式发送请求

要首先设置请求头(参数设置为ajax.setRequestHeader("content-type","application/x-www-form-urlencoded")

-->send中放入要发送的参数(key=value&key=value)-->发送数据(ajax.send(context))

当xml作为载体的时候servlet中声明发送的格式为xml

response.setContextType("text/xml;charset=utf-8");

//定位button按钮,同时添加单击事件

document.getElementsByTagName("input")[0].onclick = function(){

//NO1)创建AJAX异步对象(每个浏览器内置的,无需第三方jar包)

var ajax = createAJAX();//0

//NO2)AJAX异步对象准备发送请求

var url = "${pageContext.request.contextPath}/TimeServletAjax?id="+new Date().getTime();

var method = "GET";

ajax.open(method,url);//1

//NO3)AJAX异步对象真正发送请求体的数据到服务器,如果请求体无数据的话,用null表示

var content = null;

ajax.send(content);//2

//----------------------------------------等待

//NO4)AJAX异步对象不断监听服务端状态的变化,只有状态码变化了,方可触发函数

//0-1-2-3-4,这些是可以触发函数的

//4-4-4-4-4,这些是不可以触发函数的

//以下这个函数是服务器来触发的,不是程序员触发的,这和onclick是不一样的

ajax.onreadystatechange = function(){

//如果AJAX状态码为4

if(ajax.readyState == 4){

//如果服务器响应码是200

if(ajax.status == 200){

//NO5)从AJAX异步对象中获取服务器响应的结果

var str = ajax.responseText;

//NO6)按照DOM规则,将结果动态添加到web页面指向的标签中

document.getElementsByTagName("span")[0].innerHTML = str;

}

}

}

}

public class TimeServletAjax extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String str = sdf.format(new Date());

//注意:在Web2.0时代,即异步方式下,不能用转发或重定向

//因为:转发或重定向会引起浏览器全部刷新,而不是局部刷新

//所以得用以输出流的方式将服务器的结果输出到浏览器

response.setContentType("text/html;charset=UTF-8");

PrintWriter pw = response.getWriter();

pw.write(str);

pw.flush();

pw.close();

}

}

XMLHttpRequest(即:AJAX)对象常用事件,方法和属性

(1)事件:

ajax.onreadystatechange:表示AJAX异步对象不断监听服务端的响应,

是由服务器程序触发,不是程序员触发

(2)属性:

ajax.readyState==0:表示AJAX异步对象已创建好,但还没有调用open()方法

ajax.readyState==1:表示AJAX异步对象已调用open()方法,但还没有调用send()方法

ajax.readyState==2:表示AJAX异步对象已调用send()方法,但请求还没有到达服务器端

ajax.readyState==3:表示服务端已接收到AJAX异步对象的请求,正在处理响应中。。。

ajax.readyState==【4】:表示AJAX异步对象已经完完全全接收到了服务器的响应信             息,但接收到的数据不一定都正确

上述5种状态不是所有浏览器都相同,但状态4每种浏览器都相同

ajax.status==200:表示AJAX异步对象接收到响应码,如果是200的话,表示一切正常

ajax.responseText:表示从AJAX异步对象中获取HTML载体中的数据

ajax.responseXML:表示从AJAX异步对象中获取XML载体中的数据

ajax的学多久,ajax第二天学习相关推荐

  1. 平面设计学多久能上手,学习平面设计都可以从事哪方面的工作

    平面设计学多久能上手,学习平面设计都可以从事哪方面的工作,自学的话时间是不确定了,这个就要看个人的学习能力了,报班的话,有周末班和全日制班,全日制班一般是3.4个月,当然啦,个人学习能力强的话,能系统 ...

  2. python要学多久可以找到工作-学习Python多久能找到工作?老男孩Python开发培训

    学习Python好不好找工作?Python是目前市场上非常流行的编程语言,而且Python也引起了学习热潮,是不少人都想要学习的编程语言.与此同时,也有不少人都在担心Python是否好找工作呢?能不能 ...

  3. 广州优漫动游公司:UI设计中的ps要学多久

    Ps全称为Photoshop,是做设计的基本工具.想学习设计的人都需要学会这一款软件.那么学习ps要多长时间?如何快速学会ps呢?ps要学多久?其实,学习时间的长短主要取决于你采取什么方式进行学习以及 ...

  4. 自学前端,需要学习哪些知识点?学多久可以入职前端工程师?

    假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白.我想自学 前端,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态 ...

  5. 使用ajax将数据显示在指定位置_AJAX学习主题之一

    学习主题:AJAX 删除用户功能实现 根据视频中的讲解,完成以下内容 简述删除功能的基本思路流程 点击按钮获取当前元素中的用户uid,向服务器发起请求,将uid提交到服务器删除指定用户,浏览器获取浏览 ...

  6. 平面设计自学能学会吗?学习平面设需要学多久?

    平面设计自学能学会吗?学习平面设需要学多久?零基础小白也可以学好,这也是吸引了学习平面设计的新人自学的原因之一.但据了解,很多初学者每天都刻苦专研,好长一段时间学习依然没有什么起色,因此有不少人都会问 ...

  7. Python学多久能接单赚钱?按照这套路线学习,30天内就可以!

    Python学多久才能独立接单赚钱? 一个月足够了! 新手学习Python,按这套路线学习,30天内就可以达到精通! Python作为当下最热门的程序语言之一, 但是对于很多没有编程基础的初学者来说, ...

  8. python零基础入门教程学习要多久-廖雪峰python教程要学多久-零基础学Python需要多久...

    零基础学python大约需要多久 看不同的人,不同的学习能和基础. 像我通java,vc ,javascript,groovy,vb,c 接触过c#,delphi,asp,E语言, 用过dreamwa ...

  9. 从零开始学习python-《从零开始学 Python》(第二版)

    老齐 · 更新于 2018-11-28 11:00:43 <零基础学 Python>(第二版) Python 是一种面向对象.解释型计算机程序设计语言,由 Guido van Rossum ...

最新文章

  1. svn TortoiseSVN 回滚版本
  2. 使用enterTextInWebElement处理qq授权页报“网络异常,请稍后再试”的解决方法
  3. 大众点评网2016校招试题选录
  4. Linux权限z代表什么,linux用户与权限使用方法
  5. golang MySQL 占内存_使用golang插入mysql性能提升經驗
  6. 【LeetCode】217. Contains Duplicate (2 solutions)
  7. 黑莓手机用desktop manager安装了一些软件后重启出现erro523无法进入桌面
  8. PCB板设计流程有哪些?
  9. 批处理net命令集合
  10. 027. 从从门槛和可复制性聊聊生意模式
  11. iOS 视频录制流程解析
  12. 阿昆同学的Java学习日记Day5
  13. 超级牛逼的立体画,太厉害了!
  14. 判断题c语言缩写,计算机C语言试题及答案
  15. FDC2214/2114使用说明及资料分享
  16. [茶香人家:原创资料]武夷岩茶冲泡实战篇
  17. 如何用企业微信做私域流量客户运营,社群运营?企业微信入门篇(完整版)
  18. 激活层是每一层都有吗_广式小吃甜“薄撑”,又香又脆,每一层都有料,大人小孩都爱吃...
  19. 转用P6SPY查看HIBERNATE生成的SQL
  20. 《转》收集最完整的arcgis拓扑处理

热门文章

  1. 前端学习(969):移动端300ms延时问题
  2. 第六十期:玩了分布式这么久,你不会连Kafka都不清楚吧
  3. java学习(114):Calendar类方法before
  4. 唐山师范学院计算机二级报名,2017年3月唐山师范学院计算机等级考试报名时间(河北)...
  5. activiti高亮显示图片_【正点原子FPGA连载】第二十章SD卡读BMP图片HDMI显示实验领航者 ZYNQ 之嵌入式开发指南...
  6. ast.literal_eval(转)
  7. 使用 function 构造函数创建组件和使用 class 关键字创建组件
  8. Windows安装zookeeper 单机版
  9. 配置msf连接postgresql数据库
  10. django后台数据管理admin设置代码