- 浏览: 251969 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (221)
- A序 (4)
- 系统学习(读书笔记) (5)
- Computer-base (14)
- RFC-协议规范 (9)
- OS-windows (3)
- OS-linux (10)
- 项目管理-需求设计 (2)
- 设计模式 (1)
- Java-基础-抽象规范 (15)
- Java-基础-core-code (15)
- Java-Thread (15)
- JAVA-stream 流 (1)
- JAVA-socket (13)
- JAVA-SSL (5)
- JAVA-RMI-JMX-OSGI (7)
- java-web (6)
- 工具 (19)
- W3C (16)
- DB (12)
- 读书笔记 (5)
- 中间件 (1)
- C/C++ (1)
- JAVA-JAXB (3)
- Java-UI (1)
- JAVA命令 (1)
- JVM实战 (1)
- java-base (3)
- maven (1)
最新评论
-
Nabulio:
厉害
tomcat 源码学习 -
zbz:
例子很简单,可是怎么设置访问账号和密码呢?注释掉的那段不起作用 ...
jmx 实例--最简单的例子 -
zk302:
格式可以优化下
sql-经典例子练习 -
tuspark:
eclipse的访问控制图标,可以看这篇《eclipse的访问 ...
Eclipse(四)常用设置 -
xlshl43:
流比呀。。。但这排版看的有点蛋疼。。。
Java核心代码(二)Class loader
/**
* 工具对象
*/
comet.utils = {
/**
* 获取随机数参数,形如:&randomNum=18787890001
*/
_getRandomNumParam : function(){
var date = new Date();
var retStr = "&randomNum=" + date.getTime();
return retStr;
},
/**
* 获取项目根路径,返回值形如:http://localhost:8080/sys/
*/
_getRootPath : function (){
//获取当前网址,如:http://localhost:8080/sys/testPushlet.jsp
var curHref = location.href;
//获取主机地址之后的目录,如:/sys/testPushlet.jsp
var pathName = location.pathname;
//获取当前主机地址,如:http://localhost:8080
var host = curHref.substring(0,curHref.indexOf(pathName));
//获取当前项目名称,如:/sys
var projectName = pathName.substring(0,pathName.indexOf("/",1));
return(host + projectName + "/");
},
/**
* 创建兼容firefox、ie5以上版本的xmlHttpRequest对象
*/
_getXMLHttpRequest : function(){
var http_request;
if(comet.browserType=="firefox"){ // firefox
http_request=new XMLHttpRequest();
}else if(comet.browserType=="ie"){ // ie系列
try{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){ // IE5.x
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return http_request;
},
/**
* 封装ajax请求方法(类似jquery中$.ajax)
*/
_ajax : function(args){
var url = null;
var async = true;
var type = "GET";
var postData = null;
var successFun = null;
var errorFun = null;
var timeout = null;
var timer = null;
if(args[url]){
//避免IE下使用缓存,不刷新问题
url = args[url] + comet.utils._getRandomNumParam();
}else{
alert("url could not be null");
}
if(args[async] == false){async = false;}
if(args[type] == "POST"){type = "POST";}
if(args[postData]){postData = args[postData];}
if(args[success]){successFun = args[success];}
if(args[error]){error = args[error];}
if(args[timeout]){timeout = args[timeout];}
var xmlhttp = comet.utils._getXMLHttpRequest();
if (!xmlhttp || xmlhttp == null) {
alert('No browser XMLHttpRequest (AJAX) support');
return;
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
if(successFun != null){successFun(xmlhttp);}
} else {
if(errorFun != null){errorFun(xmlhttp);}
alert("XMLHttpResponse return error ,the status is" + xmlhttp.status);
}
if(timer){
clearTimeout(timer);
timer = null;
}
}
};
xmlhttp.open(type, url, async);
xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded; charset=utf-8");
xmlhttp.send(null);
if(args[timeout] != null){
timeout = args[timeout];
timer = setTimeout(function(){
alert("超时了");
xmlhttp.abort();
}, timeout);
}
},
/**
* 把xml的txt格式片段解析成xml dom对象
*/
_txt2xml : function (dataset){
if (comet.browserType=="ie"){//IE浏览器
var xmlDom=new ActiveXObject("Microsoft.XMLDOM");
xmlDom.async="false";
xmlDom.loadXML(dataset);
return xmlDom;
}else if(comet.browserType=="firefox"){//firefox浏览器"
var parser=new DOMParser();
xmlDom = parser.parseFromString(dataset,"text/xml");
return xmlDom;
}
},
/**
* 把xml解析成js对象,深度解析
* 参数示例:comet.utils._xml2vo({},xmlData);pvo不能为null,可以为{}
*/
_xml2vo : function (pvo,dataset){
if(dataset==null||dataset.childNodes==null){
return pvo;
}
if(dataset.nodeType == 9){
dataset = dataset.documentElement;
}
var cnt = dataset.childNodes.length;
for(var i=0; i<cnt; i++){
var child = dataset.childNodes[i];
if (child.firstChild.nodeType == 1) {
// 暂时用浅度解析,
pvo[child.nodeName] = child;//暂时用这个
// pvo[child.nodeName] = {};
// comet.utils._xml2vo(pvo[child.nodeName],child);
} else {
pvo[child.nodeName] = child.firstChild.nodeValue;
}
}
return pvo;
}
};
{"pstate":"","pdata":{"pcprice":"21,000","pcname":"thinkpad-T400"},"pid":"","psubject":"thickpad","ptime":"","ptype":"join"}
<?xml version="1.0" encoding="UTF-8"?><Ack><ptype>join</ptype><psubject>thickpad</psubject><pdata class="com.abchina.console.util.pushlet.test.PCReturnData"><pcname>thinkpad-T400</pcname><pcprice>21,000</pcprice></pdata></Ack>
xml递归解析成js对象,以后测试。
<html>
<head>
<script type="text/javascript">
function b(){
//var str = '{"plist":[{"price":888},{"price":999}]}';
//var jt = eval("("+str+")");
//alert(jt);
//var xml = '<?xml version="1.0" encoding="UTF-8"?><Ack><ptype>cautopush</ptype><ptime>100000</ptime><pid>1311728138781</pid><pstate>OK</pstate><psubject>auto_subject02</psubject><pdata class="liubo.web.pushlet.test.PCReturnData"><pcname>thinkpad-T25</pcname><plist><pcprice>16,000</pcprice><pcprice>25,000</pcprice></plist></pdata></Ack>';
var xml = '<?xml version="1.0" encoding="UTF-8"?><plist><pcprice>16,000</pcprice><pcprice>25,000</pcprice></plist>';
var xmldom = _txt2xml(xml);
var t = _xml2vo({},xmldom);
alert(t);
}
function _txt2xml (dataset){
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("msie") > -1){//IE浏览器
var xmlDom=new ActiveXObject("Microsoft.XMLDOM");
xmlDom.async="false";
xmlDom.loadXML(dataset);
return xmlDom;
}else if(ua.indexOf("firefox") > -1){//firefox浏览器"
var parser=new DOMParser();
xmlDom = parser.parseFromString(dataset,"text/xml");
return xmlDom;
}
}
function _xml2vo(pvo,dataset){
if(dataset==null||dataset.childNodes==null){
return pvo;
}
if(dataset.nodeType == 9){
dataset = dataset.documentElement;
pvo[dataset.nodeName]={};
}
var cnt = dataset.childNodes.length;
for(var i=0; i<cnt; i++){
var child = dataset.childNodes[i];
if (child.firstChild.nodeType == 1) {
if(pvo[child.nodeName]){
pvo = new Array(pvo[child.nodeName]);
delete(pvo[child.nodeName]);
var tmp = {};
tmp[child.nodeName] = {};
pvo.push(tmp);
_xml2vo(tmp,child);
}else{
pvo[child.nodeName] = {};
_xml2vo(pvo[child.nodeName],child);
}
} else {
if(pvo[child.nodeName]){
pvo = new Array(pvo[child.nodeName]);
delete(pvo[child.nodeName]);
var tmp = {};
tmp[child.nodeName] = child.firstChild.nodeValue;
pvo.push(tmp);
}else{
pvo[child.nodeName] = child.firstChild.nodeValue;
}
}
}
return pvo;
}
</script>
发表评论
-
json-总结
2012-11-18 19:31 1160JSON: com.abchi ... -
jquery-总结
2012-11-18 19:32 983jQuery的另一好处。控制与html分离 ... -
ajax-总结
2012-11-18 19:33 725ajax相关技术: DOM(Docu ... -
html-dom-总结
2012-11-18 19:34 1013-------------------------b ... -
DOM-总结
2012-11-19 08:25 916DOM 是 W3C(万维网联盟) 的推荐标准。 ... -
javascript-特效
2012-11-18 19:30 959事件 <body onmousedown=&qu ... -
javascript-总结
2012-11-15 00:03 812JavaScript 是一种脚本语言 ... -
XQuery-总结
2012-11-19 08:26 688XQuery XML Query相对 ... -
DTD-总结
2012-11-19 08:26 966DTD(文档类型定义) 每一个 XML ... -
xpath-总结
2012-11-19 08:26 827XPath 读取XML的语言。XQu ... -
xml-总结
2012-11-19 08:26 907XML 指可扩展标记语言(EXtensible Mark ... -
css 总结
2012-11-15 00:03 945样式三种使用方式 外部样式表 ... -
html-总结
2012-11-15 00:02 9500、文章结构______________________ ... -
w3c-概述
2012-11-15 00:02 1040W3C是英文 World Wide Web Consor ... -
xsd(XML Schema Definition)
2012-11-05 12:09 1052XSD(XML Schema Definition) ...
相关推荐
javascript-xpath, 虽然比firefox还是慢,但也快多了,上面的例子只需要不 到1秒。换法很简单,如下: selenium = new DefaultSelenium(location, port, browser, targetPath); selenium.start(); selenium....
这个压缩包文件“JavaScript基础知识例子.zip”包含了多个HTML文档,每个文档详细介绍了JavaScript的基础知识,特别是关于数据类型、Object类型以及内置对象的概念。 首先,让我们深入探讨JavaScript的数据类型。在...
JavaScript应用实例-例子_模块使用.js
JavaScript应用实例-例子_多线程使用.js
113.javaScript:它和标签语言都属于描述性的语言,用于和html结合从而强化网页数据的展现,虽然语法和结构上和java类似,但实际上它是和java完全不同的一门语言,它只是函数式的语言,其实从字面意思...直接看例子程序:
《JavaScript - The Definitive Guide 4th Edition》是一本权威的JavaScript编程...通过阅读和实践书中的例子,你可以深入了解JavaScript的精髓,提升自己的编程技能,从而更好地利用JavaScript构建功能丰富的Web应用。
JavaScript例子通常涵盖以下关键知识点: 1. **基础语法**:这是JavaScript学习的起点,包括变量声明(var、let、const),数据类型(字符串、数字、布尔、对象、数组、null、undefined),以及运算符(算术、比较...
本示例“canvas-js-动画-例子”聚焦于使用JavaScript在Canvas上创建动态的、引人入胜的动画。这个压缩包包含了一个名为“0.html”的文件,我们将会深入探讨这个例子中的关键知识点。 首先,Canvas是HTML5的一个组成...
9. **错误显示.html.bak**:这可能是一个关于错误处理的例子,JavaScript提供了try...catch结构来捕获和处理运行时错误,同时可以使用console.log()或alert()来显示错误信息。 通过研究这些示例,学习者可以加深对...
- **libs**:这个目录通常包含FlexPaper的JavaScript库和其他必要的依赖库,如jQuery等,是运行示例程序的基础。 - **src**:源代码文件,可能包括HTML、CSS和JavaScript文件,展示了如何在实际项目中引入和初始化...
总的来说,"javascript注册小例子"是一个学习和实践JavaScript前端验证的实例,涵盖了基本的表单处理、数据验证、正则表达式应用以及与服务器的异步交互。通过理解和分析这个例子,开发者可以更好地掌握JavaScript在...
例如,在下面的例子中,即使没有显式添加分号,代码也能正常运行: ```javascript let x = 1 let y = 2 console.log(x + y); // 输出 3 ``` 然而,依赖于ASI可能会导致难以调试的问题,因此推荐始终显式地添加分号...
这个"经典的JavaScript小例子"集合提供了一系列实用的代码片段,旨在帮助开发者理解和应用JavaScript的基本概念,同时激发创新思维,为网站增添互动性和趣味性。 首先,我们要明白JavaScript的主要功能:它可以在...
这个“javascript基础例子”压缩包显然包含了多个JavaScript基础示例,可以帮助初学者理解和掌握JavaScript的核心概念。 首先,让我们从基础开始。JavaScript语法与C++和Java有相似之处,它是一种解释型语言,意味...
这个压缩包文件"JavaScript实用例子"显然包含了一系列有助于初学者理解和掌握JavaScript编程技巧的实际示例。现在,我们将深入探讨JavaScript的一些关键知识点。 1. 变量与数据类型: JavaScript支持动态数据类型...
这是使用javascript开发的xmpp的例子,只实现了连接xmpp服务器的操作, 包含主要文件如下: flXHR.js、strophe.flxhr.js、strophe.js、jquery-1.8.3.js、jquery-ui-1.9.2.custom.min.js、flensed.js、checkplayer.js...
JavaScript应用实例-spinner例子.js
在这个例子中,`demo.js`文件只包含JavaScript代码,不含`<script>`标签。 学习JavaScript的基础语法,包括: - **区分大小写**:变量名、函数名等都是区分大小写的。 - **分号**:虽然分号是可选的,但为了提高...
2.例子 需要javascript-collection-paraphernalia var collection = require ( 'javascript-collection-paraphernalia' ) 定义要迭代的对象 var data = { one : { id : 1 , name : "ONE" } , two : { id : 2 , ...