日期:2014-05-16  浏览次数:20350 次

JavaScript中XMLHttpRequest对象初步使用

源:http://cuisuqiang.iteye.com/blog/1461306

评:

XMLHttpRequest 对象
XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档。
XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。

浏览器支持
XMLHttpRequest 得到了所有现代浏览器较好的支持。唯一的浏览器依赖性涉及 XMLHttpRequest 对象的创建。在 IE 5 和 IE 6 中,必须使用特定于 IE 的 ActiveXObject() 构造函数。正如在 XMLHttpRequest 对象 这一节所介绍的。

W3C 标准化
XMLHttpRequest 对象还没有标准化,但是 W3C 已经开始了标准化的工作,本手册介绍的内容都是基于标准化的工作草案。
当前的 XMLHttpRequest 实现已经相当一致。但是和标准有细微的不同。例如,一个实现可能返回 null,而标准要求是空字符串,或者实现可能把 readyState 设置为 3 而不保证所有的响应头部都可用。

?

我们建立一个Web工程,建立一个Servlet。用于接收请求,该请求接收参数,返回一个字符串:

Java代码 ?收藏代码
  1. package?com;??
  2. import?java.io.*;??
  3. import?javax.servlet.*;??
  4. import?javax.servlet.http.*;??
  5. @SuppressWarnings("serial")??
  6. public?class?ServiceAjax?extends?HttpServlet?{??
  7. ????public?ServiceAjax()?{??
  8. ????????super();??
  9. ????}??
  10. ????public?void?destroy()?{??
  11. ????????super.destroy();??
  12. ????}??
  13. ????public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)??
  14. ????????????throws?ServletException,?IOException?{????????
  15. ????????request.setCharacterEncoding("UTF-8");??
  16. ????????response.setCharacterEncoding("UTF-8");??
  17. ????????String?name?=?request.getParameter("name");??
  18. ????????String?age?=?request.getParameter("age");??
  19. ????????System.out.println(name?+?"你好,你今年"?+?age?+?"岁了!");????
  20. ????????PrintWriter?out?=?response.getWriter();??
  21. ????????out.write(name?+?"你好,你今年"?+?age?+?"岁了!");??
  22. ????????out.flush();??
  23. ????????out.close();??
  24. ????}??
  25. ????public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)??
  26. ????????????throws?ServletException,?IOException?{??
  27. ????????doGet(request,?response);??
  28. ????}??
  29. ????public?