简要讲Ajax 的内容归纳为博客。

AJAX能且仅能从服务器上读取文件,我们使用ajax的时候分为以下几个步骤:

1、  创建ajax对象

2、  链接服务器

3、  发送请求

4、  接收返回值

下面是详细实现过程

 <!DOCTYPE>
<html>
<head>
<meta charset = "utf-8" />
<title>ajax</title>
<script type="text/javascript">
window.onload = function(){
var obtn1 = document.getElementById('btn1');
obtn1.onclick = function(){
//1、创建ajax对象
//var oAjax = new XMLHttpRequest();//非IE6
//var oAjax = new ActiveXObject("Microsoft.XMLHTTP");//IE6
//兼容写法
var oAjax = null;
if(window.XMLHttpRequest){
oAjax = new XMLHttpRequest();
}
else{
oAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
//2、链接服务器
//open(方法,url,是否异步)
//同步:一件件事情做。异步:多件事情一起做。
oAjax.open("GET","like.txt",true);
//3、发送请求
oAjax.send();
//4、接收请求 onreadystatechange 查看进度的事件 当oAjax.readyState == 4表示已经完成,而当oAjax.status == 200时,表示接收数据成功
oAjax.onreadystatechange = function(){
if(oAjax.readyState == 4){
if(oAjax.status == 200){
alert("成功"+oAjax.responseText);
}
else{
alert("失败");
}
}
}
}
}
</script>
</head>
<body>
<input id="btn1" type="button" value="读取文件" />
</body>
</html>

以上过程分四步在服务器上读取了like.txt中的文件

同样的方法可以读取josn文件和XML文件

下面是将以上内容封装为函数的代码,可以直接用

 function ajax(url,fnSucess,fnFaild){
//1、创建ajax对象
//var oAjax = new XMLHttpRequest();//非IE6
//var oAjax = new ActiveXObject("Microsoft.XMLHTTP");//IE6
//兼容写法
var oAjax = null;
if(window.XMLHttpRequest){
oAjax = new XMLHttpRequest();
}
else{
oAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
//2、链接服务器
//open(方法,url,是否异步)
//同步:一件件事情做。异步:多件事情一起做。
oAjax.open("GET",url,true);
//3、发送请求
oAjax.send();
//4、接收请求 onreadystatechange 查看进度的事件 当oAjax.readyState == 4表示已经完成,而当oAjax.status == 200时,表示接收数据成功
oAjax.onreadystatechange = function(){
if(oAjax.readyState == 4){
if(oAjax.status == 200){
alert("成功"+oAjax.responseText);
fnSucess(oAjax.responseText);
}
else{
fnFaild();
}
}
}
}

函数接收三个参数 :第一个参数为url,请求的服务器地址。第二个参数为fnSucess函数,当请求并接收数据成功的时候执行该函数,该函数接收一个参数,该参数为接收的文件字符串。第三个参数为fnFaild()函数,当请求数据失败的时候,执行该函数。

整个Ajax说的神神叨叨,其实也就用这么点东西。

Ajax日记的更多相关文章

  1. Yii 1开发日记 -- Ajax实现点击加载下一页

    功能实现:先输出一页的内容,然后点击加载下一页,如图 1.控制器中 /** * 消费记录:列出用户购买章节的记录 */ public function actionMyPayHis() { //点击加 ...

  2. bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind

    今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...

  3. WebAPI学习日记一:Ajax请求传递参数遇到的问题

    首先,本人大学刚毕业,想把自己学习的一些东西记录下来,也是和大家分享,如有不对之处还请多加指正.声明:但凡是我博客里的文章均是本人实际操作遇到的例子,不会随便从网上拷贝或者转载,本着对自己和观众负责的 ...

  4. 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

    补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...

  5. 学习日记13、ajax同时提交from表单和多个参数

    if ($("form").valid()) { $.ajax({ url: "@Url.Action("EditCusAndCusCard")&qu ...

  6. 学习日记21、IE下的Ajax需要注意的地方

    上面这张图片我是封装了一个easyui下拉框,红框出则是动态传入的json数据,这串代码在google下运行不会有任何问题,但是在IE下运行则会提示缺少:,这是因为IE只识别json格式的数据,所以这 ...

  7. 前端学习日记之HTML、CSS 简单总结

    前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...

  8. Atitit s2018 s4 doc list dvchomepc dvccompc.docx .docx \s2018 s4 doc compc dtS44 \s2018 s4 doc dvcCompc dtS420 \s2018 s4f doc homepc \s2018 s4 doc compc dtS44\(5 封私信 _ 44 条消息)WebSocket 有没有可能取代 AJAX

    Atitit s2018 s4 doc list dvchomepc dvccompc.docx .docx \s2018 s4 doc compc dtS44 \s2018 s4 doc dvcCo ...

  9. Ajax的实现及使用-zepto

    正文 之前归纳了ajax技术的基础知识,汗颜的是这两篇本应该在年初补上的,但因为种种原因,并没有补上.不过还好最近有空,所以开始整理之前的日记.共分为两篇:对于zepto ajax代码的实现解析;对于 ...

随机推荐

  1. SQL Server 查看空间使用情况的 5 种方法

    解决方法: 方法 1.sp_spaceused 方法 2.dbcc sqlperf 方法 3.dbcc showfilestats 方法 4.dbcc showcontig 方法 5.sys.dm_d ...

  2. Asp.Net MVC+EF+三层架构的完整搭建过程

    架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案下,新建解决方案文件夹(UI,BLL,DAL,Model) ...

  3. Qt 文件搜索(写入文本文件)

    代码无意间在网上找到,下载回来后改了几个格式,编译后经测试可以正常使用,这个个文件搜索的很好的例子,有两种搜索方式:一种是按文件名作为关键字进行搜索,一种是以文档中所包含的关键字进行搜索,贴两张图先: ...

  4. QThread与其他线程间相互通信

    转载请注明链接与作者huihui1988 QThread的用法其实比较简单,只需要派生一个QThread的子类,实现其中的run虚函数就大功告成, 用的时候创建该类的实例,调用它的start方法即可. ...

  5. C语言随笔_fopen

    有同学问我,以下代码会输出“===”,为什么呀? if( (fp = fopen("data.dat","r"))==NULL){ printf("= ...

  6. Installing — pylibmc 1.2.3 documentation

    Installing - pylibmc 1.2.3 documentation libmemcached

  7. #include<string.h>

    #include<string.h> 1 strcpy #include <string.h> char *strcpy(char *str1, const char *str ...

  8. 认识SVN

    TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件 服务 ...

  9. 委托、Lambda表达式

    本文来自:http://wenku.baidu.com/link?url=o9Xacr4tYocCPhivayRQXfIc9kOZeWBwPn2FZfeF19P4-8YX5CMXs74WB-Y8t0S ...

  10. 两分钟让你明白cocos2dx的屏幕适配策略

    闲来无事,整理了一下cocos2dx的屏幕适配策略,本文适用于想快速理解cocos2dx适配的开发者. 我们先假设:以854 * 480 的屏幕为标准进行开发,当然,这也就是cocos2dx所说的设计 ...