用javascript简单封装AJAX
1.创建一个AJAX引擎对象
var CreateAjax = function () {
var xhr = null; if (window.XMLHttpRequest)
{
//非IE游览器
xhr=new XMLHttpRequest();
}else
{
//IE游览器
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
};
2.创建一个全局对象
var Ajax = function (option) {
//初始化数据
//可选GET,POST
var type = option.type;
//请求地址
var url = option.url; var data = option.data;
//返回数据类型
var dataType = option.dataType;
//是否异步
var async = option.async; var success = option.success;
//默认为GET方式
if(type==null){
type = "GET";
}
//默认返回文本类型
if (dataType == null) {
dataType = "text";
}
if (async == null) {
async = true;
}
//创建XMLHttpRequest对象
var xhr = CreateAjax();
//打开
xhr.open(type, url, async);
//发送
if (type == "GET" || type == "get") {
xhr.send(null);
} else if (type == "POST" || type == "post") {
xhr.setRequestHeader("content-type",
"application/x-www-form-urlencoded");
xhr.send(data);
} xhr.onreadystatechange = function () {
if (xhr.readyState == && xhr.status == ) {
if (dataType == "TEXT" || dataType == "text") {
if (success != null) {
success(xhr.responseText);
} else if (dataType == "xml" || dataType == "XML") {
success(xhr.responseXML);
} else if (dataType == "json" || dataType == "JSON") {
success(eval("(" + xhr.responseText + ")"));
}
}
}
}; };
3.调用方式
Ajax({
type: "POST",
url: "LoginHandler.ashx",
data: "userName="+userName.value+"&password="+password.value,
dataType:"text", success: function (data) {
alert(data);
} });
简单了封装一下,能基本满足需求..可进行扩充
用javascript简单封装AJAX的更多相关文章
- JavaScript原生封装ajax请求和Jquery中的ajax请求
前言:ajax的神奇之处在于JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果.Ajax 在浏览器与 Web 服务器之间使用异步 ...
- javascript 【封装AJAX】
post function createXHR() { if (typeof XMLHttpRequest != 'undefined') { return new XMLHttpRequest(); ...
- 模拟jQuery简单封装ajax
/*模拟jQuery的写法 (简单写法)*/ var $={}; /*ajax*/ $.ajax = function (options) { /* * 请求 * 1.请求接口 type get po ...
- html --- ajax --- javascript --- 简单的封装
Ajax的简单封装 Ajax的全称是AsynchronousJavaScriptAndXML 如有疑问请参考:http://zh.wikipedia.org/zh-cn/AJAX 以及传智播客的视频教 ...
- 【Ajax 3】JavaScript封装Ajax
导读:上一篇博客简单介绍了一下对Ajax中的核心对象XMLHttpRequest的封装.那么为了方便对Ajax的应用,我们还需要进一步的对Ajax的基本功能进行下一步的封装,不得不说的是早就有人专门写 ...
- Jquery Ajax简单封装(集中错误、请求loading处理)
Jquery Ajax简单封装(集中错误.请求loading处理) 对Jquery Ajax做了简单封装,错误处理,请求loading等,运用到项目中集中处理会很方便. 技术层面没有什么好说的,请求是 ...
- 2016/11/17 周四 <javascript的封装简单示例>
这是一个简单的javascript代码封装的示例以及封装后的调用方法: var ticker={ n:0, add:function() { this.n++; }, show:function() ...
- ajax代码及简单封装
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); ...
- ajax简单封装
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); ...
随机推荐
- linux命令格式及基础命令(一)
linux命令格式 ~]#COMMAND [选项] [参数] 例如: ~]#ls 不带任何选项和参数 ``` stylus ~]#ls -lh /etc 列出/etc下所有文件和目录,同时要求以格式和 ...
- html/css 钢琴黑白格布局
效果图:
- iOS:iOS中的多控制器管理
iOS中的控制器有三种创建方式: 1.通过storyboard创建 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@" ...
- JS学习笔记--轮播图效果
希望通过自己的学习收获哪怕收获一点点,进步一点点都是值得的,加油吧!!! 本章知识点:index this for if else 下边我分享下通过老师教的方式写的轮播图,基础知识实现: 1.css代 ...
- [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...
- ASP.NET POST XML JSON数据,发送与接收
接收端通过Request.InputStream读取:byte[] byts = new byte[Request.InputStream.Length];Request.InputStream.Re ...
- SVN使用教程
SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...
- navicat 创建的表,username字段不能接受中文名字。
用navicat 创建的表,username(varchar)字段不能接受中文名字. 解决方法如下: 选中所创建的users表,打开“设计表”,选中username字段,看到下面是字符集latin1, ...
- ios新特性(泛型)
协变 子类转父类 逆变父类给子类赋值
- Kotlin 介绍
Kotlin (0:00) 大家好,我是 Michael Pardo,今天我要给大家展示一下 Kotlin 这门语言,同时看看他如何让你在 Android 开发的时候更开心,更有效率. Kotlin ...