Ajax——从服务器获取各种文件

ajax.js内容

function ajax(url,fnWin,fnFaild){
    //1.创建ajax对象
    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    //2.与服务器建立连接
    xhr.open("GET",url,true);
    //3.发送请求
    xhr.send();
    //4.接收服务器返回的信息
    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
            if(xhr.status == 200){
                fnWin && fnWin(xhr.responseText);
            }else{
                fnFaild && fnFaild();
            }
        }
    }
}

实例一,获取txt文件内容

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #box{
                width:300px;
                height: 300px;
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <input type="button" name="" id="" value="按钮一" />
        <input type="button" name="" id="" value="按钮二" />
        <input type="button" name="" id="" value="按钮三" />
        <div id="box"></div>
    </body>
</html>
<script type="text/javascript" src="js/ajax.js" ></script>
<script type="text/javascript">
    var oBtn = document.getElementsByTagName("input");
    var oDiv = document.getElementById("box");
    for(var i = 0;i < oBtn.length;i ++){
        oBtn[i].index = i;
        oBtn[i].onclick = function(){
            ajax(this.index + 1 + ".txt",function(str){
                oDiv.innerHTML = str;
            })
        }
    }
</script>

效果图如下↓

实例二,通过ajax访问服务器端的abc.txt文件,并实现无刷新实时更新内容↓

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <p>通过ajax访问服务器端的abc.txt文件</p>
        <input type="button" name="btn" id="btn" value="读取文件" />
        <div id="box">

        </div>
    </body>
</html>
<script type="text/javascript" src="js/ajax.js" ></script>
<script type="text/javascript">
    var oBtn = document.getElementById("btn");
    var oDiv = document.getElementById("box");
    oBtn.onclick = function(){
        document.title = "abc.txt?" + new Date().getTime();
        ajax("abc.txt?t=" + new Date().getTime(),function(str){   //?后的内容会被浏览器忽略,以此实现实时刷新内容,即在修改abc.txt文件内容后,无须刷新也能获取最新内容。
            oDiv.innerHTML = str;
        })
    }
</script>

实例三,

通过ajax访问服务器端的data.json文件
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <p>通过ajax访问服务器端的data.json文件</p>
        <input type="button" name="btn" id="btn" value="读取文件" />
        <div id="box">

        </div>
    </body>
</html>
<script type="text/javascript" src="js/ajax.js" ></script>
<script type="text/javascript">
    var oBtn = document.getElementById("btn");
    var oDiv = document.getElementById("box");
    oBtn.onclick = function(){
        ajax("data.json?t=" + new Date().getTime(),function(str){
            var json = (new Function("return" + str))();
            alert(json[0].c);
        })
    }
</script>

实例四,动态创建dom节点并插入json文件内容

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <ul id="ul1"></ul>
        <a href="javascript:;">1</a>
        <a href="javascript:;">2</a>
        <a href="javascript:;">3</a>
    </body>
</html>
<script type="text/javascript" src="js/ajax.js" ></script>
<script type="text/javascript">
    var oUl = document.getElementById("ul1");
    var oA = document.getElementsByTagName("a");
    for(var i = 0;i < oA.length; i ++){
        oA[i].index = i;
        oA[i].onclick = function(){
            oUl.innerHTML = ""; //清空ul
            ajax("page" + (this.index + 1) + ".json",function(str){
                var json = (new Function("return" + str))(); //解析json
                //利用js中DOM动态生成页面中的内容
                for(var j = 0;j < json.length;j ++){
                    var obj = json[j];
                    for(var key in obj){
                        var oLi = document.createElement("li");
                        oLi.innerHTML = "<strong>" + key + "</strong><i>" + obj[key] + "</i>";
                        oUl.appendChild(oLi);
                    }

                }
            })
        }
    }
</script>

page.json1↓

[{"a":1},{"aa":11},{"aaa":111}]

page.json2↓

[{"b":2},{"bb":22},{"bbb":222}]

page.json3↓

[{"c":3},{"cc":33},{"ccc":333}]

效果图↓

点击1

点击2

点击3

实例五,获取php文件内容

时间: 2024-12-05 01:53:19

Ajax——从服务器获取各种文件的相关文章

ajax异步服务器获取时间

1.创建ajax对象 <script type="text/javascript"> //创建AJAX异步对象 function createAJAX(){ var ajax = null; try{ //如果IE5=IE12的话 ajax = new ActiveXObject("microsoft.xmlhttp"); }catch(e1){ try{ //如果是非IE的话 ajax = new XMLHttpRequest(); }catch(e2

ajax从服务器获取信息并拼接显示在table

1.页面代码 <body> <h1>显示所有员工信息</h1> <div> <table class="table"> @*标题*@ <thead> <tr> <th>账号</th> <th>真实姓名</th> <th>电话</th> <th>密码</th> <th>状态</th> &

java从远程服务器获取PDF文件并后台打印(使用pdfFox)

一.java原生方式打印PDF文件 正反面都打印,还未研究出只打印单面的方法,待解决 public static void printFile(String path) throws Exception { File file = new File(path); File[] fies=file.listFiles(); for(File f:fies){ System.out.println("file "+f.getName()); String fileExt=f.getName

Ajax从服务器端获取数据---原生态Ajax

写在前面的话 Ajax从服务器获取的数据都是字符串,但是通过不同的解析,可以解析为XML或JSON来进行应用. 一般来说.使用XML格式的数据比较通用,但是服务器和客户端解析起来都比较复杂一些;而使用JSON语句话,服务端需要多做一些工作,但到了客户端,通过使用eval()函数来进行解析,就会获得js对象,使用起来很方便.在使用过程中,究竟使用哪种方法,这个要根据项目的实际需要,建议:在能使用JSON的情况下,尽量使用JSON. 具体使用方法参见例子. 例子 1.XML数据user.xml <?

Ajax从服务器端获取数据

写在前面的话 Ajax从服务器获取的数据都是字符串,但是通过不同的解析,可以解析为XML或JSON来进行应用. 一般来说.使用XML格式的数据比较通用,但是服务器和客户端解析起来都比较复杂一些;而使用JSON语句话,服务端需要多做一些工作,但到了客户端,通过使用eval()函数来进行解析,就会获得js对象,使用起来很方便.在使用过程中,究竟使用哪种方法,这个要根据项目的实际需要,建议:在能使用JSON的情况下,尽量使用JSON. 具体使用方法参见例子. 例子 1.XML数据user.xml <?

通过Jquery中Ajax获取json文件数据

1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : 名称/值对. 例如: "Student":"Tom" Json值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true或者false) 数组(在方括号中) 对象(在花括号中) null  例如(对象):{"name":"to

Ajax获取 Json文件提取数据

摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":"男", "email":"[email protected]", "url":"./img/1.jpg" }, { "name":"张铁林", "sex"

XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)

1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一样 虽然可以描述和传输复杂数据,但是其解析过于复杂并且体积较大,所以实现开发已经很少使用了.   例: <?xml version="1.0" encoding="UTF-8"?> <root> <arrayList> <arr

从服务器获取的 数值,进行值传递,不同的文件夹之间的调用。

在A.h文件中 定义一个 @property (strong, nonatomic)  NSString *dicString; 在A.m文件中 //从服务器中获取到的值  赋给 dicString  进行值传递给另一个文件使用 NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:NULL];//自定义字典对象 NSString*