Ajax应用-定义一套自己的Ajax框架
——————————————————————————
<script type="text/javascript">
//定义个一个function,作为一个Ajax类
//它的构造函数需要提供以下参数列表
function Ajax(url,callback,params,method){
this.method = method; //对象的ajax请求方法
this.url = url; //对象的ajax请求url
this.params = params; //对象的ajax请求参数
this.callback = callback;//对象的ajax请求回调
this.send = function(){ //请求发送函数
if(!this.method) //当没有提供请求方法的时候,默认为GET
this.method = 'GET';
if(method == 'POST'){//如果是POST方法
//用POST方法,参数可以通过send方法的参数写到请求的内容流中去
window.Ajax.client.open(this.method,this.url,true);
window.Ajax.client.send(params);//调用send函数,把参数写的请求内容中
}else if(method == 'GET'){//如果是GET方法
//用GET请求方法,参数就只能放在URL的后边,这种方式受到URL长度限制
window.Ajax.client.open(this.method, this.url + "?" + params,true);
window.Ajax.client.send();
}
//请求发出以后,就开始监听client的状态变化
window.Ajax.client.onreadystatechange = function(){
//如果成功返回,则调用预定义的回调函数
if (window.Ajax.client.readyState==4 && window.Ajax.client.status==200){
callback();//调用回调函数
}
};
};
//这里,把Ajax的client属性作为一种静态变量,类似于单例模式
if(!window.Ajax.client){
// 判断是否支持ActiveX控件,老版本的IE浏览器就需要使用ActiveXObject来创建
if(window.ActiveXObject){
// 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
window.Ajax.client = new ActiveXObject("Microsoft.XMLHTTP");
}
// 其他的大多数浏览器都支持本地javascript对象
else if(window.XMLHttpRequest){
// 创建XMLHTTPRequest的一个实例(本地javascript对象)
window.Ajax.client = new XMLHttpRequest();
}
}
}
//button的click事件函数
function sendAjax(){
//创建一个Ajax对象,然后提供必要的参数
var ajax = new Ajax('test001.txt',function(){
alert(window.Ajax.client.responseText);
},'','GET');
//发送请求
ajax.send();
}
</script>——————————————————————————————
<body style="text-align:center">
<input type="button" value="Send" onclick="sendAjax();"/>
</body>
——————————————————————————————
Ajax应用-定义一套自己的Ajax框架的更多相关文章
- Ajax请求(二)--JQuery的Ajax请求方法
JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...
- ajax 中操作this,需要先在ajax的外面给this重新定义为_this!!
//设置为默认收货地址 $(document).on('tap','.right_none',function(){ var _this = $(this); //只有这样定义,在ajax的内部才可以 ...
- JavaScript封装Ajax工具函数及jQuery中的ajax,xhr在IE的兼容
封装ajax工具函数 首先要思考:1.为什么要封装它?提高开发效率2.把一些不确定的情况考虑在其中 a. 请求方式 b. 请求地址 c. 是否异步 d. 发送参数 e. 成功处理 f. 失败处理3.确 ...
- Web的Ajax应用开发模式(二)——Ajax开发模式分析
寄语: 前天在查看一些公司的招聘要求时,看到有公司要求测试人员了解Ajax,故写此博文旨在帮助测试人员提高自身技术知识水平,愿与广大测试同胞共同进步.(欢迎纠错!!!) Web应用的传统开发模式总结: ...
- 深入理解ajax系列第九篇——jQuery中的ajax
前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而 ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- 详解Ajax请求(三)——jQuery对Ajax的实现及serialize()函数对于表单域控件参数提交的使用技巧
原生的Ajax对于异步请求的实现并不好用,特别是不同的浏览器对于Ajax的实现并不完全相同,这就意味着你使用原生的Ajax做异步请求要兼顾浏览器的兼容性问题,对于java程序员来讲这是比较头疼的事情, ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...
- 从零开始学 Web 之 Ajax(六)jQuery中的Ajax
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
随机推荐
- 郑州尚学堂:链表的C语言如何实现动态内存分配
一.为什么用动态内存分配 但我们未学习链表的时候,如果要存储数量比较多的同类型或同结构的数据的时候,总是使用一个数组.比如说我们要存储一个班级学生的某科分数,总是定义一个float型(存在0.5分)数 ...
- jquery实现图片漂浮效果
$(window).load(function(){ function moveRocket(){ $("#float").animate({'left':'+=100'} ...
- “System.BadImageFormatException”类型的未经处理的异常在 PurchaseDevices.Access.dll 中发生 其他信息: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确
引用sqlite的程序集时,有时会报如下异常: "System.BadImageFormatException"类型的未经处理的异常在 PurchaseDevices.Acces ...
- 【第六篇】Volley之https相关
Volley之https信任所有证书实现: public class HttpsTrustManager implements X509TrustManager { private static Tr ...
- Spring Security(12)——Remember-Me功能
目录 1.1 概述 1.2 基于简单加密token的方法 1.3 基于持久化token的方法 1.4 Remember-Me相关接口和实现类 1.4.1 Toke ...
- 一行一行分析JQ源码学习笔记-04
jquery添加方法和属性 jquery.fn=jquery.prototype ={ jquery版本 } construtor 指向修正 js源码中 fun aaa(){} 会自动生成一句 ...
- HttpPost与HttpVerbs.Post属性的区别
1. the HttpPost attribute is a short for the HttpVerbs.Post one but since MVC 2.0. 从MVC 2.0之后HttpPos ...
- JVM基础(4)-编译
一.编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: (其中绿色的模块可以选择性实现.) 很容易看 ...
- 对于querystring取值时候发生+号变空格的问题
今天遇到这个问题,在网上找了几个答案,解决了问题,很高兴,所以贴出来给大家分享一下: URL如下 http://127.0.0.1/test/test.aspx?sql= and id='300+' ...
- Payoneer官网注册教程,免费申请美国银行账号
在我搞网赚项目的过程中,碰到境外收款付款的问题,起初我用Paypal贝宝,手续费高得惊人!相信做电商外贸的朋友深有体会.幸而发现了Paypal替代产品Payoneer,注册简单,手续费低,还有中文网站 ...