第一 为了保证ie5.6和高级的浏览器能使用ajax
<!doctype html> <html> <script type="text/javascript"> function showit(){ var xmlhttp; if(window.XmlHttpRequest){ xmlhttp = new XmlHttpRequest(); }else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function (){ if(xmlhttp.readyState==4 && xmlhttp.status==200){ document.getElementById("txt").innerHTML=xmlhttp.responseText; } } xmlhttp.open("get","test1.txt",true); xmlhttp.send(); } </script> <body> <button onclick="showit()">dianji</button> <span id="txt"></span> </body> </html>
test1.txt 内容 随便写
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。
open(method,url,async)
规定请求的类型、URL 以及是否异步处理请求。
将请求发送到服务器。
|
onreadystatechange存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。readyState
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
200: "OK" 404: 未找到页面 |
在使用responseXML遇到一个XML小问题
一开始写了一个错误的xml 里面包含了多个顶层元素
所以一直报错 也去不到xml
但修改后还是一直报错,折腾了半天是浏览器缓存了这个xml
重启下浏览器就ok了
responseXML例子
function showit1(){
var xmlhttp;
if(window.XmlHttpRequest){
xmlhttp = new XmlHttpRequest();
}else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function (){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var xmlDoc=xmlhttp.responseXML;
var namews = xmlDoc.getElementsByTagName("title");
var sel = document.getElementById("sel");
var options="";
for(var i=0;i<namews.length;i++){
var option = new Option(namews[i].childNodes[0].nodeValue,namews[i].childNodes[0].nodeValue);
sel.options[i] = option;
}
}
}
xmlhttp.open("get","/book.xml",true);
xmlhttp.send();
}
<button onclick="showit1()">dianji1</button>
<select id="sel">
book.xml
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
rollback
如果ajax使用频繁 我们可以写一个公共方法针对上面的例子
<html>
<script type="text/javascript">
var xmlhttp;
function showit(){
getDoAjax("get","test1.txt",true,function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("txt").innerHTML=xmlhttp.responseText;
}
});
}
function showit1(){
getDoAjax("get","book.xml",true,function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var xmlDoc=xmlhttp.responseXML;
var namews = xmlDoc.getElementsByTagName("title");
var sel = document.getElementById("sel");
var options="";
for(var i=0;i<namews.length;i++){
var option = new Option(namews[i].childNodes[0].nodeValue,namews[i].childNodes[0].nodeValue);
sel.options[i] = option;
}
}
});
}
function getDoAjax(method,url,async,func){
if(window.XmlHttpRequest){
xmlhttp = new XmlHttpRequest();
}else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = func;
xmlhttp.open(method,url,async);
xmlhttp.send();
}
</script>
<body>
<button onclick="showit()">dianji</button>
<button onclick="showit1()">dianji1</button>
<span id="txt"></span>
<select id="sel">
</select>
</body>
</html>
跟后台交互 还是上面2个例子
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 AjaxServlet extends HttpServlet{ private static final long serialVersionUID = -2908606144414412796L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); resp.setCharacterEncoding("UTF-8"); PrintWriter out = resp.getWriter(); out.print("servlet发来贺电"); out.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/xml;charset=utf-8"); resp.setCharacterEncoding("UTF-8"); PrintWriter out = resp.getWriter(); out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); out.println("<bookstore>"); out.println("<book>"); out.println("<title>Everyday Italian</title>"); out.println("</book>"); out.println("<book>"); out.println("<title>Harry Potter</title>"); out.println("</book>"); out.println("<book>"); out.println("<title>Learning XML</title>"); out.println("</book>"); out.println("</bookstore>"); out.close(); } }html代码
<!doctype html> <html> <script type="text/javascript"> var xmlhttp; function showit(){ getDoAjax("get","/ajaxtest",true,function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200){ document.getElementById("txt").innerHTML=xmlhttp.responseText; } }); } function showit1(){ getDoAjax("post","/ajaxtest",true,function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200){ var xmlDoc=xmlhttp.responseXML; var namews = xmlDoc.getElementsByTagName("title"); var sel = document.getElementById("sel"); var options=""; for(var i=0;i<namews.length;i++){ var option = new Option(namews[i].childNodes[0].nodeValue,namews[i].childNodes[0].nodeValue); sel.options[i] = option; } } }); } function getDoAjax(method,url,async,func){ if(window.XmlHttpRequest){ xmlhttp = new XmlHttpRequest(); }else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = func; xmlhttp.open(method,url,async); xmlhttp.send(); } </script> <body> <button onclick="showit()">dianji</button> <button onclick="showit1()">dianji1</button> <span id="txt"></span> <select id="sel"> </select> </body> </html>
相关推荐
【Ajax学习资料+实例】 Ajax,全称Asynchronous JavaScript And XML,是一种在2005年由Google推广的技术,它不是一种新的编程语言,而是一种利用已有标准(如JavaScript和HTTP请求)来创建交互性更强、运行更高效...
"ajax学习"可能是一个包含教程、示例代码和讲解文档的文件或文件夹,而"ajaxѧϰ"可能是教学材料或练习项目,"ѧϰ"在拼音中代表"学习",因此这很可能是针对AJAX技术的学习资料。 以下是一些关于.NET中AJAX技术的...
《jQuery与Ajax学习指南》是一本专为初学者和有一定JavaScript基础的开发者设计的电子书,旨在帮助读者深入理解和熟练掌握这两个在实际Web开发中不可或缺的技术。jQuery是一个强大的JavaScript库,它极大地简化了DOM...
在这份超详细的Ajax学习笔记中,我们将深入探讨以下几个关键知识点: 1. **基础概念**:Ajax的核心是JavaScript对象XMLHttpRequest,它使得前端和后端能够进行异步通信。异步意味着用户在等待服务器响应时可以执行...
【Ajax学习文档】深入解析 Ajax,全称Asynchronous JavaScript and XML,是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术。它并不是一项新技术,而是由一系列已存在的技术组合而成,包括JavaScript、...
ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习...
在本篇“AJAX学习总结(一)--基于jQuery第一个实例”中,我们将探讨如何使用jQuery库实现异步JavaScript和XML(AJAX)技术。AJAX允许我们在不刷新整个页面的情况下,更新网页的部分内容,从而提供更流畅的用户体验...
- **jQuery 和 Axios**:学习Ajax时,可以了解jQuery的$.ajax()方法和现代JavaScript库Axios,它们都提供了更方便的接口来处理Ajax请求。 在项目中,Ajax常用于实现动态加载、表单提交、实时通讯等功能。随着前端...
AJAX学习笔记。内含Java调用的两个实例,及JavaScript的ajax工具函数,可快速入门,也可当手册使用。个人精心整理,值得收藏。 更多:http://download.csdn.net/user/daillo/all
掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM ...
**Ajax学习经典源码详解** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现...
在《Ajax学习开发手册》中,通常会涵盖以下关键知识点: 1. **基础概念**: - **异步通信**:Ajax的核心是JavaScript的XMLHttpRequest对象,它允许浏览器在不刷新整个页面的情况下与服务器通信。 - **请求与响应*...
这个"Prototype Ajax学习范例"提供了一系列实例,旨在帮助开发者迅速掌握使用Prototype进行Ajax操作的技巧。 Ajax,即异步JavaScript和XML(Asynchronous JavaScript and XML),是一种在无需刷新整个网页的情况下...
这份"Learn_JavaScript_and_Ajax_with_w3Schools.zip"压缩包包含了一个电子书和一个文本文件,旨在帮助学习者掌握这两种技术的核心概念。 JavaScript,全称ECMAScript,是一种轻量级的解释型编程语言,主要用于网页...
**Ajax学习——DWR的参考书和实用案例学习总结** DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面...
标题"AJAX学习(包括WCF)"表明了这是一个关于AJAX技术的学习资源,其中还涵盖了WCF(Windows Communication Foundation)的相关内容。AJAX,即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的...
在本案例中,“一些ajax例子,ajax学习例子”是一个学习和实践Ajax技术的资源集合。 Ajax的核心是JavaScript对象XMLHttpRequest,它允许开发者在后台与服务器进行通信,而不会打断用户的交互。以下是一些关键的Ajax...
Ajax,即Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...通过深入学习和理解Ajax,开发者可以构建出更高效、更流畅的网页应用。
ajax学习视频,我自己学了感觉还不错,分享给大家一起学习!