AJAX获取服务器文件
写一个按钮,点击后在指定的div里显示本地txt文件内容
在本地新建一个test.txt,里面随便写点内容就好。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<input type="button" id="btn_test" value="test" onclick="javascript:testAjax('test.txt');" />
<br /><br />
<div id="testDiv">Hello,World!</div> <script>
function testAjax(request_url){
var xmlhttp = null;
try{
var xmlhttp = new XMLHttpRequest();
}catch(e){
try{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("Your browser is not support AJAX");
}
} if (xmlhttp){
xmlhttp.open("GET",request_url,true);
xmlhttp.onreadystatechange = function (){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById("testDiv").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.send(null);
}else{
alert("Error");
}
}
</script>
</body>
</html>
也可以把readystatechange的事件处理句柄单独写成一个方法,注意xmlhttp要写成全局变量。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body> <input type="button" id="btn_test" value="test" onclick="javascript:testAjax('test.txt');" />
<br /><br />
<div id="testDiv">Hello,World!</div> <script>
var xmlhttp = null; function readyStateChangeHandler(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById("testDiv").innerHTML = xmlhttp.responseText;
}
} function testAjax(request_url){
try{
xmlhttp = new XMLHttpRequest();
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("Your browser is not support AJAX");
}
} if (xmlhttp){
xmlhttp.open("GET",request_url,true);
xmlhttp.onreadystatechange = readyStateChangeHandler;
xmlhttp.send(null);
}else{
alert("Error");
}
}
</script>
</body>
</html>
获取XML文件的方法有点不太一样,思路是一致的,只不过具体读取response会用到一些特殊的方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body> <input type="button" id="btn_test" value="test" onclick="javascript:testAjax();" />
<br /><br />
<div id="testDiv">Hello,World!</div> <script>
var xmlhttp = null;
var testDiv = document.getElementById("testDiv"); function readyStateChangeHandler(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
var xmlDOM = xmlhttp.responseXML;
//拿到response后要解析出XML的根节点
var xmlRoot = xmlDOM.documentElement;
try{
//Tag Name视具体需求而定,要和后端人员商量好。
var xmlItem = xmlRoot.getElementsByTagName("item");
for(var i=0;i<xmlItem.length;i++){
//具体怎么拿item里面的内容还需要根据数据结构来定
testDiv.innerHTML += xmlItem[i].innerHTML;
}
}catch(e){
alert(e.message);
}
}
} function testAjax(){
try{
xmlhttp = new XMLHttpRequest();
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("Your browser is not support AJAX");
}
} if (xmlhttp){
xmlhttp.open("GET","test.xml",true);
xmlhttp.onreadystatechange = readyStateChangeHandler;
xmlhttp.send(null);
}else{
alert("Error");
}
}
</script>
</body>
</html>
test.xml
<?xml version="1.0" encoding="utf-8" ?>
<root>
<item>This is a XML test!</item>
<item>Ajax is very useful!</item>
</root>
可以看到每一项item的结构远比xml文件复杂,具体怎么取值还要和后端人员讨论

AJAX获取服务器文件的更多相关文章
- Ajax基础(二)--获取服务器文件
获取服务器文件相关步骤: 1.创建文件: 2.创建XMLHttpRequest对象: 3.获取文件(注意事项:1)在服务器中运行测试:2)注意编码问题,编码要统一). 3.1 获取xml文件: HTM ...
- 使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析
使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析 因为我在前台使用了jquery的text()方法,而不是html ...
- 通过Jquery中Ajax获取json文件数据
1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : ...
- Ajax获取 Json文件提取数据
摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":&q ...
- Ajax获取服务器信息
xhr.onreadystatechange = function(){ if (xhr.readyState == 4){ if ((xhr.status >= 200 && ...
- 通过原生js的ajax或jquery的ajax获取服务器的时间
在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间. 客户端时间通过 javascript中的Date对象可以获取,如 var dt = new Date() ...
- Ajax获取服务器响应头部信息
$.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location.href, complete: function( xhr,data ...
- .NET HttpGet 获取服务器文件下的图片信息 同步和异步方式处理
/// <summary> /// 项目文件夹下路径 返回流类型数据,如:图片类型 /// </summary> /// <returns></returns ...
- ajax获取服务器响应信息
window.onload = function(){ document.getElementById('btn').onclick = function(){ var req = new XMLHt ...
随机推荐
- hdu1242 Rescue DFS(路径探索题)
这里我定义的路径探索题指 找某路能够到达目的地,每次走都有方向,由于是探索性的走 之后要后退 那些走过的状态都还原掉 地址:http://acm.hdu.edu.cn/showproblem.php? ...
- rabbitmqctl 的常用命令
# 查看服务器的状态 rabbitmqctl status # 查看环境变量 rabbitmqctl environment # 停止rabbitmq的应用 rabbitmqctl stop_ ...
- bash循环语句
1 )单分支if语句 if 测试条件 :then 如果满足条件就执行这里的代码 f 2)双分支的if语句 if 测试条件:then 如果满足条件就执行这里的代码 else 如果不满足条件就执行这里 ...
- 目标跟踪之Lukas-Kanade光流法(转)
光流是图像亮度的运动信息描述.光流法计算最初是由Horn和Schunck于1981年提出的,创造性地将二维速度场与灰度相联系,引入光流约束方程,得到光流计算的基本算法.光流计算基于物体移动的光学特性提 ...
- Struts2文件的上传和下载实现
<一>简述: Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用自己去手工配置,<interceptor name="fileUp ...
- UVALive - 4975_Casting Spells
题意很简单,给你一个字符串,要求你求出一个最长的形似于w(wr)w(wr)的最长连续子串的长度.wr表示w的逆序串. 在这里大家很容易就能想到Manacher算法求回文串.没有错,就是这个. 算法的详 ...
- 迭代器 每迭代一次 指针往下面移动一次 除非JVM回收了内存 否则 他的指针不会回到原地
迭代器 每迭代一次 指针往下面移动一次 除非JVM回收了内存 否则 他的指针不会回到原地
- Codeforces Round#514 Div.2 翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
- 洛谷 P2015 二叉苹果树
老规矩,先放题面 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端 ...
- java学习5-jar包的下载以及导入
1.出现未导入包的情况 ,表示当前jdk不 2.百度下载jar包 3.File. 未完待续http://blog.csdn.net/a153375250/article/details/5085104 ...