AJAX技术(4)
来源:互联网 发布:淘宝水果店铺营业介绍 编辑:程序博客网 时间:2024/06/07 04:45
之前的AJAX技术都是处理服务器响应。
1、可以利用inHTML属性创建动态内容。
2、将响应解析为XML。
3、使用W3C DOM动态编辑页面。
现在利用AJAX技术发送请求参数。
方法一:使用基本的GET和POST方法。
实例:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>AJAX应用实例四</title><script type="text/javascript">var xhr ;function createXMLHttpRequest(){if(window.ActiveXObject){//ie浏览器xhr = new ActiveXObject("Microsoft.XMLHttp");}else if(window.XMLHttpRequest){//非ie浏览器xhr = new XMLHttpRequest();}}//得到用户输入的姓名和生日,将要传送给服务器的数据利用这个函数封装起来function createRequestString(){var firstname = document.getElementById("firstname").value;var middlename = document.getElementById("middlename").value;var birthday = document.getElementById("birthday").value;var requestString = "firstname="+firstname+" &middlename="+middlename+"&birthday="+birthday;return requestString;}//get方法function doRequstUsingGET(){createXMLHttpRequest();xhr.onreadystatechange = handleResponse;//将数据从这里传过去xhr.open("GET","getAndPostDemo?"+createRequestString()+"×tamp ="+new Date().getTime(),"true");xhr.send(null);}function doRequestUsingPOST(){createXMLHttpRequest();xhr.onreadystatechange = handleResponse;xhr.open("POST", "getAndPostDemo?timestamp = "+new Date().getTime(), true);xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;")xhr.send(createRequestString());}function handleResponse(){if(xhr.readyState==4){if(xhr.status == 200){var responseDiv = document.getElementById("serverResponse");//清楚之前responseDiv中可能有的内容if(responseDiv.hasChildNodes()){responseDiv.removeChild(responseDiv.childNodes[0]);}var responseText = document.createTextNode(xhr.responseText);responseDiv.appendChild(responseText);}}}</script></head><body><h1>Enter your first name , middle name ,and birthday</h1><table><tbody><tr><td>First name:</td><td><input type = 'text' id = 'firstname'/></td></tr><tr><td>Middle name:</td><td><input type = 'text' id = 'middlename'/></td></tr><tr><td>birthday</td><td><input type = 'text' id = 'birthday'></td></tr></tbody></table><form action = '#'><input type = 'button' value = 'Send parameters using GET' onclick = "doRequstUsingGET();"/><br/><br/><input type = 'button' value = 'Send parameters using POST' onclick = "doRequestUsingPOST();" /><br/><h2> Server Response:</h2><div id = "serverResponse" ></div></form></body></html>2、GetAndPostServlet.java
package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class GetAndPostServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String firstName = request.getParameter("firstname");String middleName = request.getParameter("middlename");String birthday = request.getParameter("birthday");System.out.println(birthday);response.setContentType("text/xml");PrintWriter out = response.getWriter();String responseText = "Hello:"+firstName+""+middleName+", your Birthday is "+birthday;out.println(responseText);out.flush();out.close();}//和get方法的代码基本相同public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String firstName = request.getParameter("firstname");String middleName = request.getParameter("middlename");String birthday = request.getParameter("birthday");response.setContentType("text/xml");PrintWriter out = response.getWriter();String responseText = "Hello:"+firstName+""+middleName+", your Birthday is "+birthday;out.println(responseText);out.flush();out.close();}}
虽然这个例子很简单。但是还是遇见了很多错误。比如说在向服务器传参数的时候,值一直传不过去。原因是因为取值的时候空格的问题。
0 0
- AJAX技术(4)
- Struts+Ajax 技术(4)
- 4、Ajax技术要点
- Ajax技术(一)
- AJAX技术(1)
- AJAX技术(2)
- AJAX技术(3)
- Ajax-Jquery的Ajax技术(三)
- J2EE开发技术点4:ajax技术
- AJAX技术(一)XmlHttp
- AJAX技术
- AJAX技术
- Ajax技术!
- Ajax技术
- Ajax技术
- Ajax技术
- ajax技术
- ajax技术
- java获取对象属性类型、属性名称、属性值
- android ExpandableTextView 的实现,可以在listview中利用
- 产品经理如何才能把一件事做出色
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
- 6.5哈夫曼树
- AJAX技术(4)
- Mybatis的动态Sql
- WireShark_There are no interfaces on which a capture can be done_解决
- Erlang cowboy routing 路由
- 前端代码规范
- Tools总览
- 如何解决Win7系统关机后变自动重启
- iOS中__weak 和 __Strong
- powershell 时间处理