Ajax解析html、xml、json、js原生方式、jquery方式
来源:互联网 发布:儿童电脑画图软件 编辑:程序博客网 时间:2024/04/30 18:36
ajax之helloWorld
myjsp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html><head><script type="text/javascript"> window.onload = function(){ // 获取a节点,添加响应函数 document.getElementsByTagName("a")[0].onclick = function(){ // 创建一个XMLHttpRequest对象 var request = new XMLHttpRequest(); // 准备发送请求的url,及其发送方式(多用时间戳) var url = this.href+"?time"+new Date(); var method = "POST"; // 调用对象的open方法 request.open(method,url); //如果需要post则需要下面这行告诉符合编码方式 request.setRequestHeader("ContentType","application/x-www-form-urlencoded"); // 调用send方法 request.send("name='atguigu'"); // 对对象添加响应函数-该函数由服务器触发,不是用户触发,通知客户端当前的通讯状态 request.onreadystatechange = function(){ // 判断响应是否完成 if(request.readyState == 4){ // 判断响应是否可用 if(request.status == 200 || request.status == 304){ // 打印响应结果 alert(request.responseText); } } } // 取消a节点的默认行为 return false; } } </script> </head> <body> <a href="helloAjax.txt">HelloAjax</a> </body></html>
不通过超链接的方式获取文本,而是通过打印的方式获取—这个案例手敲代码
html数据交互格式
andy.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h2><a href="mailto:andy@clearleft.com">Andy Budd</a></h2><a href="http://andybudd.com/">http://andybudd.com/</a></body></html>
myjsp.jsp
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> window.onload = function(){ var aNodes = document.getElementsByTagName("a"); for(var i = 0;i < aNodes.length;i++){ aNodes[i].onclick = function(){ var request = new XMLHttpRequest(); var method = "GET"; var url = this.href; request.open(method,url); request.send(null); request.onreadystatechange = function(){ if(request.readyState == 4){ if(request.status == 200 || request.status == 304){ document.getElementById("details").innerHTML = request.responseText; } } } return false; } } } </script></head><body> <h1>People</h1> <ul> <li> <a href="andy.html">Andy</a> </li> </ul> <div id="details"></div></body></html>
xml数据交互格式
andy.xml
<?xml version="1.0" encoding="utf-8"?><details> <name>Andy Budd</name> <website>http://andybudd.com/</website> <email>andy@clearleft.com</email></details>
myjsp.jsp
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> window.onload = function(){ var aNodes = document.getElementsByTagName("a"); for(var i = 0;i < aNodes.length;i++){ aNodes[i].onclick = function(){ var request = new XMLHttpRequest(); var method = "GET"; var url = this.href; request.open(method,url); request.send(null); request.onreadystatechange = function(){ if(request.readyState == 4){ if(request.status == 200 || request.status == 304){ var result = request.responseXML; var name = result.getElementsByTagName("name")[0].firstChild.nodeValue; var website = result.getElementsByTagName("website")[0].firstChild.nodeValue; var email = result.getElementsByTagName("email")[0].firstChild.nodeValue; alert(name); alert(website); alert(email); /** <h2><a href="mailto:andy@clearleft.com">Andy Budd</a></h2> <a href="http://andybudd.com/">http://andybudd.com/</a> */ var aNode = document.createElement("a"); aNode.appendChild(document.createTextNode(name)); aNode.href = "mailto" + email; var h2Node = document.createElement("h2"); h2Node.appendChild(aNode); var aNode2 = document.createElement("a"); aNode2.appendChild(document.createTextNode(website)); aNode2.href = website; var detailsNode = document.getElementById("details"); detailsNode.innerHTML = "sss"; detailsNode.appendChild(h2Node); detailsNode.appendChild(aNode2); } } } return false; } } } </script></head><body> <h1>People</h1> <ul> <li> <a href="andy.xml">Andy</a> </li> <li> <a href="richard.xml">Richard</a> </li> <li> <a href="jeremy.xml">Jeremy</a> </li> </ul> <div id="details"></div></body></html>
gson字符串转为对象
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> var jsonObject = { "name":"atguigu", "age":"12", "address":{"city":"BeiJing","school":"尚硅谷"}, "teaching":function(){ alert("javaee,android"); } }; alert(jsonObject.name); alert(jsonObject.address.city); jsonObject.teaching(); //eval可以把一个字符串转为js代码来执行 var testStr = "alert('hello eval')"; eval(testStr); //json字符串转为对象 var jsonStr = "{'name':'atguigu'}"; var testObject = eval("("+jsonStr+")"); alert(testObject.name); </script></head><body></body></html>
gson数据交互格式
andy.js
{"person":{ "name":"Andy Buddddd", "website":"http://andybudd.com/", "email":"andy@clearleft.com"} }
myjsp.jsp
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> window.onload = function(){ var aNodes = document.getElementsByTagName("a"); for(var i = 0;i < aNodes.length;i++){ aNodes[i].onclick = function(){ var request = new XMLHttpRequest(); var method = "GET"; var url = this.href; request.open(method,url); request.send(null); request.onreadystatechange = function(){ if(request.readyState == 4){ if(request.status == 200 || request.status == 304){ var result = request.responseText; var object = eval("(" + result + ")"); var name = object.person.name; var website = object.person.website; var email = object.person.email; alert(name); alert(website); alert(email); var aNode = document.createElement("a"); aNode.appendChild(document.createTextNode(name)); aNode.href = "mailto" + email; var h2Node = document.createElement("h2"); h2Node.appendChild(aNode); var aNode2 = document.createElement("a"); aNode2.appendChild(document.createTextNode(website)); aNode2.href = website; var detailsNode = document.getElementById("details"); detailsNode.innerHTML = ""; detailsNode.appendChild(h2Node); detailsNode.appendChild(aNode2); } } } return false; } } } </script></head><body> <h1>People</h1> <ul> <li> <a href="andy.js">Andy</a> </li> </ul> <div id="details"></div></body></html>
提示:andy.js在javaee编译器上报红叉,运行结果异常
js原生同步、异步
function fn1(){ //1、创建ajax引擎对象 ---- 所有的操作都是通过引擎对象 var xmlHttp = new XMLHttpRequest(); //2、绑定监听 ---- 监听服务器是否已经返回相应数据 xmlHttp.onreadystatechange = function(){ if(xmlHttp.readyState==4&&xmlHttp.status==200){ //5、接受相应数据 var res = xmlHttp.responseText; document.getElementById("span1").innerHTML = res; } } //3、绑定地址 xmlHttp.open("GET","/WEB22/ajaxServlet?name=lisi",true); //4、发送请求 xmlHttp.send(); } function fn2(){ //1、创建ajax引擎对象 ---- 所有的操作都是通过引擎对象 var xmlHttp = new XMLHttpRequest(); //2、绑定监听 ---- 监听服务器是否已经返回相应数据 xmlHttp.onreadystatechange = function(){ if(xmlHttp.readyState==4&&xmlHttp.status==200){ //5、接受相应数据 var res = xmlHttp.responseText; document.getElementById("span2").innerHTML = res; } } //3、绑定地址 xmlHttp.open("POST","/WEB22/ajaxServlet",false); //4、发送请求 xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlHttp.send("name=wangwu"); }
servlet代码如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String parameter = request.getParameter("name"); response.getWriter().write(Math.random()+parameter); }
query的get、post、ajax方法
function fn1(){ //get异步访问 $.get( "/WEB22/ajaxServlet2", //url地址 {"name":"张三","age":25}, //请求参数 function(data){ //执行成功后的回调函数 //{\"name\":\"tom\",\"age\":21} alert(data.name); }, "json" ); } function fn2(){ //post异步访问 $.post( "/WEB22/ajaxServlet2", //url地址 {"name":"李四","age":25}, //请求参数 function(data){ //执行成功后的回调函数 alert(data.name); }, "json" ); } function fn3(){ $.ajax({ url:"/WEB22/ajaxServlet2", async:true, type:"POST", data:{"name":"lucy","age":18}, success:function(data){ alert(data.name); }, error:function(){ alert("请求失败"); }, dataType:"json" }); }
servlet代码如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String name = request.getParameter("name"); String age = request.getParameter("age"); System.out.println(name+" "+age); //java代码只能返回一个json格式的字符串 response.setContentType("text/html;charset=UTF-8"); response.getWriter().write("{\"name\":\"汤姆\",\"age\":21}"); }
0 0
- Ajax解析html、xml、json、js原生方式、jquery方式
- AJAX 原生js以及Jquery解析html,xml,txt,json格式文本
- 通过AJAX的JS、JQuery两种方式解析XML
- jQuery AJAX获取JSON数据解析多种方式示例
- jquery通过ajax方式获取json数据和解析
- JQuery解析xml的两种方式$.get和$.ajax
- JQuery解析xml的两种方式$.get和$.ajax
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- delphi如何启动时不自动建立单元
- NFS挂载的问题svc: failed to register lockdv1 RPC service
- CDQ分治维护凸包 优化dp 【NOI2007】货币兑换cash bzoj1492
- Centos 7 MySQL 5.7.x 大小写敏感问题解决 ezhttp
- 怎样对所有的文件进行操作
- Ajax解析html、xml、json、js原生方式、jquery方式
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
- JavaScript语言特性
- Dragon of Loowater UVA
- URL模拟登陆出现的小问题(新手)
- 关于Online Judge题目tick and tick的数学公式推导
- 水题-find q
- python模块win32com下载
- TabLayout和Viewpage连用