一周学会Mootools 1.4中文教程:(5)Ajax

2023-12-14 09:18

本文主要是介绍一周学会Mootools 1.4中文教程:(5)Ajax,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  ajax在我们前台的开发中是非常重要的,所以我们单独拿出一节课来讲述,首先我们看一下mootools的ajax构成

语法:
var myRequest=new Request([参数]);


参数:
url - (string:默认是null) 要请求的URL.
data - (string:默认是空) 默认要请求或发送的数据.
link - (string:默认是'ignore') 可为'ignore','cancel','chain'.
'ignore' - 当请求正在执行之中时,新的请求将被忽略
'cancel' - 当请求正在执行之中时,将立即取消当前执行中的请求,开始执行新的请求
'chain' - 当请求正在执行之中时,将会把新的请求链接在当前请求之后,依次执行所有请求
method - (string:默认是'post') HTTP请求类型,可为'post' 或 'get'.
emulation - (boolean:默认是true) 仿真,通常不用理会
async - (boolean:默认是true) 异步,如果设为false,那么在请求数据的时候将会同步冻结浏览器请求,通常不用理会.
timeout - (integer:默认是0) 超时时间
headers - (object) 设置content-type头.
urlEncoded - (boolean:默认是true) url编码,如果设为true,则content-type头将被设为www-form-urlencoded+encoding
encoding - (string:默认是'utf-8') 数据的编码.
noCache - (boolean;默认是false) 如果设为true,则不缓存
isSuccess - (function) 请求结束之后的事件.
evalScripts - (boolean:默认是false) 如果设为true,结果内的script会被执行
evalResponse - (boolean:默认是false) 如果设为true,请求内容将会被执行.
user - (string:默认是null) 如果设置了此项,那么请求的时候将会尝试认证.
password - (string:默认是null) 和user搭配使用,设置此项的时候要填写密码而不是星号


上边已经列出了所有的ajax参数,那么mootools为我们提供了哪些事件呢?我们来看一下:

onRequest
当请求被发送的时候触发.

onLoadstart
当请求已载入的时候触发,在其他所有进程之前.

onProgress
当请求正在建立上传或下载的进程时触发.

onComplete
当请求结束时触发.

onCancel
当请求被取消时触发.

onSuccess
当请求成功完成后触发.

onFailure
当请求失败时触发.

onException
当设置一个请求头失败时触发.

onTimeout
当超出了options.timeout所设置的毫秒数,却没有发生状态值的改变时触发.

我们再来看一下他还有哪些额外的方法:

setHeader
添加或修改一个请求的头信息. 并不会重写options.
示例:
var myRequest=new Request({url:'getData.php',method:'get',headers:{'X-Request':'JSON'}});
myRequest.setHeader('Last-Modified','Sat,1 Jan 2005 05:00:00 GMT');

getHeader
返回响应头,如果没有发现则为null.
示例:
var myRequest=new Request({url:'getData.php',method:'get',onSuccess:function(responseText,responseXML){
alert(this.getHeader('Date'));//显示服务的数据 (如,'Thu,26 Feb 2009 20:26:06 GMT')
}});

send
打开请求链接并发送在options里预设的数据
示例:
var myRequest=new Request({
url:'http://localhost/some_url'
}).send('save=username&name=John');

cancel
取消当前正运行的请求.
示例:
var myRequest=new Request({url:'mypage.html',method:'get'}).send('some=data');
myRequest.cancel();

isRunning
如果当前请求正在运行则返回true
示例:
var myRequest=new Request({url:'mypage.html',method:'get'}).send('some=data');
if(myRequest.isRunning()) //It runs!

  上面说了那么多还没进入正题,连个完整的例子都没出来,Mootools的ajax够强大,我喜欢,嘿嘿,好了我们马上进入正题给大家展示一个完整的ajax请求的例子:

    var myRequest=new Request({//建立Request对象
url:'image.php',//要请求的地址
onProgress:function(event,xhr){//建立进度显示在控制台内
var loaded=event.loaded,total=event.total;
console.log(parseInt(loaded / total * 100,10));
}
}).send();//用他的send方法发送

//再来一个例子
var myElement=$('myElement');//选节点
var myRequest=new Request({//建立Request对象
url:'getMyText.php',//要请求的地址
method:'get',//get请求
     onTimeout:function(){//超时
myElement.set('text','超时了');
},
     onFailure:function(){//请求失败
myElement.set('text','请求失败了');
},
onProgress:function(event,xhr){//建立进度显示在控制台内
var loaded=event.loaded,total=event.total;
console.log(parseInt(loaded / total * 100,10));
},
onRequest:function(){//当请求被发送时设置内容
myElement.set('text','loading...');
},
onSuccess:function(responseText){//结束后重设内容
myElement.set('text',responseText);
},
onFailure:function(){//失败时提示
myElement.set('text','Sorry,your request failed:(');
}
});

//$('myLink')点击时,触发ajax的send方法
$('myLink').addEvent('click',function(event){
event.stop();//终止掉$('myLink')的默认事件(假如是<a ..>防止超链接跑到别的页面上)
myRequest.send('userid='+this.get('data-userid'));
});


看完了上边这个完整的示例之后有没有感觉Mootools的ajax很彪悍?还是你觉得他太复杂,没关系我再来个简洁型的,不管你有什么癖好都让你满意.

   var myHTMLRequest=new Request.HTML().get('myPage.html');
var myHTMLRequest=new Request.HTML({url:'myPage.html'}).post('user_id=25&save=true');

<div id="content">Loading content...</div>
$('content').load('page_1.html');

//从这个网址载入"load/?user_id=25".
var myHTMLRequest=new Request.HTML({url:'load/'}).get({'user_id':25});

Data from Element via POST:
<form action="save/" method="post" id="user-form">
<p>
Search:<input type="text" name="search" />
Search in description:<input type="checkbox" name="search_description" value="yes" />
<input type="submit" />
</p>
</form>

//这里是一个submit事件
var myHTMLRequest=new Request.HTML({url:'save/'}).post($('user-form'));


好了,这一课讲完了,有问题就进群(16648471)讨论吧,注意:加群的时候要说明你从哪个网站来到.

相关课程:
一周学会Mootools 1.4中文教程:序论
一周学会Mootools 1.4中文教程:(1)Dom选择器
一周学会Mootools 1.4中文教程:(2)函数
一周学会Mootools 1.4中文教程:(3)事件
一周学会Mootools 1.4中文教程:(4)类型
一周学会Mootools 1.4中文教程:(5)Ajax
一周学会Mootools 1.4中文教程:(6)动画
一周学会Mootools 1.4中文教程:(7)汇总收尾

其他关于Mootools 1.4的文章:
我写的Lightbox效果插件,基于MooTools 1.4
我写的万年历插件(含天干地支,农历,阳历,节气,各种节假日等),基于MooTools 1.4
我写的类似本站首页左上角的菜单的效果插件,基于MooTools 1.4
Mootools中delay这个延迟函数的高级用法
Mootools中使用bind给函数绑定对象
Mootools中使用extend和implement给你的函数扩展功能或方法
自己写个扩展把Mootools的语法改的和Jquery的语法一模一样
Mootools1.4中自定义事件
用Mootools1.4写了一个随着鼠标移动而背景图也跟着移动的东西


这篇关于一周学会Mootools 1.4中文教程:(5)Ajax的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/491962

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。