<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
<!--
var xmlHttp ;//发送请求接受响应
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") ;
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest() ;
}
}
function checkUser(){
createXMLHttpRequest() ;
var name = document.getElementById("username").value ;
var password = document.getElementById("password").value ;
var url = "servlet/Login_check?username="+name+"&password="+password ;
xmlHttp.open("GET",url,true) ;
xmlHttp.onreadystatechange = showResult ;
xmlHttp.send(null) ;
}
//回调函数
function showResult(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var result = xmlHttp.responseText;//在页面上显示返回的结果
alert("result:"+result) ;
if(result=="OK"){
alert("if执行了么") ;
window.location.href ="test.html?name=test" ;
}else{
document.getElementById("checkResult").innerHTML="<b>"+result+"</b>" ;
}
}
}
}
//-->
</script>
</head>
<body>
ajax
<br>
username:
<input type="text" id="username">
<div id="checkResult"></div>
<p>
password:
<input type="password" id="password">
<p>
<input type="button" value="check" onclick="checkUser()">
<p>
</body>
</html>
----------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<script type="text/javascript">
// 保存读到的XML
var xml = null;
var CurrentDate;
/* 获取XML对象 */
function loadXmlDoc(xmlUrl) {
try {
//创建IE的xml文档
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
} catch (e) {
try {
//创建FF的xml文档
xmlDoc = document.implementation.createDocument("", "", null);
} catch (e) {
alert(e.message)
}
}
try {
//关闭异步加载
xmlDoc.async = false;
xmlDoc.load(xmlUrl);
return (xmlDoc);
} catch (e) {
alert(e.message)
}
return (null);
}
function getPropValues() {
var nodeName = document.getElementById("nodeName").value;
var propName = document.getElementById("propName").value;
alert(propName + "这。");
if (nodeName == "") {
alert("输入结点名");
return;
}
if (xml == null) {
xml = loadXmlDoc("data.xml");
alert("DOM对象以创建");
}
// 返回文档中具有指定标记名的所有Element节点
var nodes = xml.getElementsByTagName(nodeName);
if (nodes == null) {
document.getElementById("result").innerText = "所输入的结点名不存在";
return;
}
var results = "";
if (propName != "" && nodes[0].getAttribute(propName) == null) {
document.getElementById("result").innerText = "结点不存在所输入 的属性名";
return;
}
for ( var i = 0; i < nodes.length; i++) {
if (propName != null && propName != "") {
results += nodes[i].getAttribute(propName) + "\n";
} else {
alert("执行了么~");
results += nodes[0].childNodes[0].nodeValue + "\n"; //childNodes 以Node的形式存放当前节点的子节点。如果没有子节点,则返回空数组。
}
}
document.getElementById("result").innerHTML = results;
}
//根据xpath返回xml节点
function readXmlNode(node, xpath) {
try {
if (node == null || xpath == null) {
return null;
} else {
var result = node.selectSingleNode(xpath);
if (result == null) {
return null;
} else {
return result;
}
}
} catch (e) {
return null;
}
}
//根据xpath取xml节点属性的值
function readXmlAttrValue(node, xpath, attrName) {
try {
if (node == null || xpath == null) {
return null;
} else {
var result = node.selectSingleNode(xpath);
if (result == null) {
return null;
} else {
return result.getAttribute(attrName);
}
}
} catch (e) {
return null;
}
}
/*-----------------------------------------------------------------------*/
function readTime1() {
var date = new Date();
CurrentDate = ChangeTimeToString(date);
//alert("hello ");
//alert(CurrentDate);
var t = setTimeout("alert(CurrentDate)", 5000);
}
function readTime2() {
var date = new Date();
CurrentDate = ChangeTimeToString(date);
//alert(CurrentDate);
var t = setInterval("alert(CurrentDate)", 5000);
}
// 将日期类型转换成字符串型格式yyyy-MM-dd hh:mm
function ChangeTimeToString(DateIn) {
var Year = 0;
var Month = 0;
var Day = 0;
var Hour = 0;
var Minute = 0;
var CurrentDate = "";
//初始化时间
Year = DateIn.getYear();
Month = DateIn.getMonth() + 1;
Day = DateIn.getDate();
Hour = DateIn.getHours();
Minute = DateIn.getMinutes();
CurrentDate = Year + "-";
if (Month >= 10) {
CurrentDate = CurrentDate + Month + "-";
} else {
CurrentDate = CurrentDate + "0" + Month + "-";
}
if (Day >= 10) {
CurrentDate = CurrentDate + Day;
} else {
CurrentDate = CurrentDate + "0" + Day;
}
if (Hour >= 10) {
CurrentDate = CurrentDate + " " + Hour;
} else {
CurrentDate = CurrentDate + " 0" + Hour;
}
if (Minute >= 10) {
CurrentDate = CurrentDate + ":" + Minute;
} else {
CurrentDate = CurrentDate + ":0" + Minute;
}
return CurrentDate;
}
/*------------------------------------------------------------------*/
function writeStream() {
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso
.CreateTextFile("D:/workspace/studyTest/WebRoot/test.txt", true);
var textArea = document.getElementById("result")
tf.WriteLine(textArea.innerText);
tf.WriteBlankLines(2);
tf.Close();
}
/*---------------------------------------------------------------------*/
function findAll() {
if (xml == null) {
xml = loadXmlDoc("data.xml");
//alert("DOM对象以创建");
}
var results = "";
var nodes = xml.documentElement;//根节点
var childs = nodes.childNodes;//子节点数组
for ( var x = 0; x < childs.length; x++) {
if (childs[x].nodeType == 1) {
var child = childs[x].childNodes; //子节点的下一级子节点
for ( var y = 0; y < child.length; y++) {
var arrylist = child[y].attributes;//属性列表
if (arrylist.length <= 0) {
results += child[y].nodeName + ":"
+ child[y].childNodes[0].nodeValue + "\n";
} else {
for ( var z = 0; z < arrylist.length; z++) {
//document.write(child[y].nodeName + "\n");
//alert(arrylist[z].nodeName);
//alert(child[y])
results += child[y].nodeName+":"+arrylist[z].nodeName + ":"
+ arrylist[z].nodeValue + "\n"; //arrylist[z].text获得 属性的值
}
}
}
}
}
document.getElementById("result").innerHTML = results;
}
/*---------------------------------------------------------------------------------------------------------------------*/
function getValueByNode() {
if (xml == null) {
xml = loadXmlDoc("data.xml");
alert("DOM对象已创建");
}
var nodeName = document.getElementById("nodeName").value;
alert("nodeName:" + nodeName);
var propName = document.getElementById("propName").value;
alert("propName:" + propName);
var results = "";
//节点名为nodeName的所有元素节点
if (nodeName != null && "" != nodeName) {
var nodes = xml.getElementsByTagName(nodeName);
alert("nodes的长度:" + nodes.length);
if (propName != null && "" != propName) {
for ( var x = 0; x < nodes.length; x++) {
results += propName + ":" + nodes[x].getAttribute(propName)
+ "\n";
}
} else {
results += nodeName + ":" + nodes[0].childNodes[0].nodeValue
+ "\n";
}
} else {
alert("节点名称不能为空");
}
document.getElementById("result").innerText = results;
}
//接受网址上的参数
function getParameter() {
//获得url
var url = window.location.href;
alert("url:"+url);
var aa = url.indexOf('=');
alert("aa:"+aa);
if (aa == -1) {
return "";
} else {
url = url.substring(aa + 1);
window.alert(url);
}
return url;
}
function showView() {
var url = getParameter();
document.getElementById("showView").innerText = "欢迎," + url;
}
</script>
<body onload=showView()>
<div id="showView"></div>
输入结点名:
<input type="text" id="nodeName" />
<br />
输入属性名:
<input type="text" id="propName" />
<br />
<input type="button" value="提交" onclick="getValueByNode()" />
<br />
<textarea id="result" style="width: 200px; height: 60px;"></textarea>
<br />
<button onclick="readTime1()">
显示当前日期1
</button>
<button onclick="readTime2()">
显示当前日期2
</button>
<button onclick="writeStream()">
写如文件
</button>
<button onclick="findAll()">
遍历XML
</button>
</body>
</html>
分享到:
相关推荐
### ASP.NET后台代码实现XmlHttp跨域访问 在Web开发领域,跨域访问是一个常见的问题。当客户端尝试从一个源加载不同源的数据时,就会触发跨域问题。为了解决这个问题,开发者通常会采用多种技术手段,其中一种是...
var xmlDoc = xmlhttp.responseXML; if (xmlDoc == null) { return "内容为空"; } var requestNode = xmlDoc.getElementsByTagName("response")[0]; var node = requestNode.firstChild.nodeValue; return ...
Set xmlDoc = xmlHttp.responseXML ' 处理 xmlDoc... ``` #### 五、案例分析 ##### 案例一:获取 HTML 内容 下面的代码演示了如何使用 XMLHTTP 从指定 URL 获取 HTML 内容,并将其显示在当前页面上。 ```...
var xmlDoc = xmlhttp.responseXML; ``` ### 4. 事件 #### XMLHttpRequest.onreadystatechange `onreadystatechange` 事件在`readyState`属性变化时触发。`readyState` 从0到4,表示请求的五个不同阶段。当`...
xmlDoc = xmlhttp.responseXML; ``` #### 解析与获取XML内容 1. **DOM操作**: - 一旦XML文档加载完毕,可以通过DOM API(Document Object Model Application Programming Interface)访问和操作XML文档中的...
var xmlDoc = xmlHttp.responseXML; var objSel_goodsDesc = document.getElementById("sel_goodsDesc"); var items= xmlDoc.getElementsByTagName("good"); objSel_goodsDesc.options.length = 0; //清空...
xmlDoc = xmlhttp.responseXML; ``` 以上就是XML应用开发中加载XML文档的基本步骤和示例。理解这些概念和技术对于开发涉及XML数据处理的应用至关重要,无论是在Web开发、数据交换还是配置文件管理等场景中。
var xmlDoc = xmlhttp.responseXML; // 处理 xmlDoc } else { console.log("响应不是有效的 XML 或者解析失败"); } ``` ##### 备注 - 如果服务器响应的数据不是有效的 XML 格式或者 XML 解析过程中出现错误,则...
xmlhttp.send(xmldoc); ``` 9. **`abort()` 方法**: - **作用**:取消正在进行的请求。 - **示例**: ```javascript xmlhttp.abort(); ``` 10. **`setRequestHeader()` 方法**: - **作用**:设置 HTTP ...
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } ``` 接下来,你需要设置请求的URL和类型。在这个例子中,URL指向服务器上的XML文件,请求类型是GET,意味着你只是简单地获取资源,而不是发送数据。同时,...
xmldoc = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ return false; } } } } if(!xmldoc){ return false; } // 设置回调函数 xmldoc.onreadystatechange = function(){ if(xmldoc....
xmlDoc.Root().AddChild("childElement").Text = "SomeValue" ``` 接着,我们来看XML的读取。在PB中,可以使用DOM解析器加载XML文件,然后通过遍历DOM树来访问和操作XML数据。以下是一个简单的读取示例: ```pb ...
xmlDoc = xmlhttp.responseXML; // 之后可以解析xmlDoc对象 ``` #### 6. readyState事件处理 `readyState`属性指示XMLHttpRequest对象的状态。每当此属性值改变时,会触发`onreadystatechange`事件。在事件处理...
let xmlDoc = xmlHttp; } ``` 一旦有了XML文档对象,我们可以将其内容转换为HTML。这通常涉及到遍历XML节点并创建对应的HTML元素。例如,如果XML是简单的列表,我们可以创建一个`<ul>`元素,并为每个`<item>`元素...
var xmlDoc = xmlhttp.responseXML.documentElement; // 获取 XML 文档根节点 var Data1 = ""; if (xmlDoc.getElementsByTagName("Data1")[0].childNodes[0] != null) { Data1 = xmlDoc.getElementsByTagName(...
var xmlDoc = xmlhttp.responseXML; var node = xmlDoc.getElementsByTagName('item')[0]; console.log(node.textContent); ``` **5. `status`** - **作用**:服务器响应的 HTTP 状态码。 - **常见状态码**...
首先,创建XMLHTTP对象可以通过以下代码实现: ```vbscript Set objXML = CreateObject("Msxml2.XMLHTTP") ``` 或者,如果需要使用3.0版本,可以使用: ```vbscript Set objXML = CreateObject("MSXML2....
xmlDoc.loadXML(xmlHttp.responseText); var content = xmlDoc.getElementsByTagName("content")[0]; var currentPageNode = content.getElementsByTagName("currentpage")[0].firstChild.nodeValue; var ...
var xmlDoc = xmlhttp.responseXML; // 根据实际需要解析XML数据并更新页面 } } ()"> <!-- 页面内容 --> ``` #### 七、结论 Ajax技术为Web应用开发带来了革命性的变化,极大地提高了Web应用的性能和用户...
var xmlDoc = xmlhttp.responseXML.documentElement; } else { xmlDoc = null; } return xmlDoc; } ``` - **解释**: 这段代码定义了一个名为 `loadXML` 的函数,用于加载 XML 文件并返回 XML 文档对象。首先...