Ajax日记
简要讲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日记的更多相关文章
- Yii 1开发日记 -- Ajax实现点击加载下一页
功能实现:先输出一页的内容,然后点击加载下一页,如图 1.控制器中 /** * 消费记录:列出用户购买章节的记录 */ public function actionMyPayHis() { //点击加 ...
- bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind
今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...
- WebAPI学习日记一:Ajax请求传递参数遇到的问题
首先,本人大学刚毕业,想把自己学习的一些东西记录下来,也是和大家分享,如有不对之处还请多加指正.声明:但凡是我博客里的文章均是本人实际操作遇到的例子,不会随便从网上拷贝或者转载,本着对自己和观众负责的 ...
- 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)
补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...
- 学习日记13、ajax同时提交from表单和多个参数
if ($("form").valid()) { $.ajax({ url: "@Url.Action("EditCusAndCusCard")&qu ...
- 学习日记21、IE下的Ajax需要注意的地方
上面这张图片我是封装了一个easyui下拉框,红框出则是动态传入的json数据,这串代码在google下运行不会有任何问题,但是在IE下运行则会提示缺少:,这是因为IE只识别json格式的数据,所以这 ...
- 前端学习日记之HTML、CSS 简单总结
前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...
- 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 ...
- Ajax的实现及使用-zepto
正文 之前归纳了ajax技术的基础知识,汗颜的是这两篇本应该在年初补上的,但因为种种原因,并没有补上.不过还好最近有空,所以开始整理之前的日记.共分为两篇:对于zepto ajax代码的实现解析;对于 ...
随机推荐
- GTW likes math(BC 1001)
GTW likes math Accepts: 472 Submissions: 2140 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 1 ...
- 启动PL/SQL Developer 报字符编码不一致错误,Database character set
错误内容: Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character ...
- 十一、外观(Facade)模式--结构模式(Structural Pattern)
外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式.门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行. 门面模式提供一个高层次 ...
- 关于ViewPager被嵌套在ScrollView中不显示的问题
关于ViewPager被嵌套在ScrollView中不显示的问题 进入全屏 ScrollView 嵌套ViewPager,要不是业务需求这样,估计没人愿意这么干!因为这种方式,会问题多多,简单百度一下 ...
- ServerProperties
Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...
- mysql update语句
UPDATE ClientBankInfo SET status = 3 WHERE sn IN (SELECT sn FROM zjzc.ClientBankInfo WHERE cardNo IN ...
- STL中map与hash_map容器的选择收藏
这篇文章来自我今天碰到的一个问题,一个朋友问我使用map和hash_map的效率问题,虽然我也了解一些,但是我不敢直接告诉朋友,因为我怕我说错了,通过我查询一些帖子,我这里做一个总结!内容分别来自al ...
- UVA 11111-Generalized Matrioshkas(栈)
题意:有很多层盒子,盒子里面再套盒子,一个盒子可能套多个独立的子盒子,但子盒子的总体积必须小于该盒子,否则不合法,输入给一行数,负数代表左边,正数代表右边,大小表示其体积,如-2,-1,1,2则表示体 ...
- XMPP通讯开发-仿QQ显示好友列表和用户组
在 XMPP通讯开发-服务器好友获取以及监听状态变化 中我们获取服务器上的用户好友信息,然后结合XMPP通讯开发-好友获取界面设计 我们将两个合并起来,首先获取用户组,然后把用户组用List ...
- unity tips
1.在unity 的mecanim中,如果一个动画指向两个或两个以上的动画,那么在inspector中,transitions中可以看到所有的过渡路径,这些路径是有先后顺序的.