用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'); ...
随机推荐
- jsexcel导出插件
ExcelTable.js /* * author:wenluanlai */ (function ($) { Date.prototype.Format = function (fmt) { var ...
- 不刷新页面获取HTML进行显示
$.ajax({ url: "请求地址", dataType: "text", type: "GET" ...
- 委托的例子,from C# advanced program
class BubbleSorter { static public void Sort<T>(IList<T> sortArray, Func<T, T, bool&g ...
- CA02检验计划批量导入 模板在文件
*&---------------------------------------------------------------------* *& PROGRAM NAME(EN) ...
- qq客服代码
http://shang.qq.com/v3/widget.html <a target="_blank" href="http://wpa.qq.com/msgr ...
- 常用doc命令
1.查看ip:ipconfig 2.ping命令 -t 就会一直ping,使用Ctrl+c退出 3.查看路由:route print 4.如何查看端口号被占用:netstat -aon| ...
- Swift 04.Functions
函数的基本构造 基本结构 func 函数名 (形参名:形参类型) ->返回值 {实现代码} 如果没有参数,那么也必须把参数的括号带上 如果有多个形参,那么必须以逗号 , 隔开 如果没有返回值,那 ...
- javascript温故知新
1 javascript作用域 初学javascript的时候,变量的作用域就感觉有些麻烦,他不像C#或java那样清晰明了,貌似处处都在作用域内,但有时会处处都是空. javascript中,变量的 ...
- Linux 批量修改文件名
背景:在研究MP4解码播放的时候音视频字幕的分片命名不符合规范,分片个数太多只能脚本实现. 解决问题类型: 1.将Garfield1HD_261_dan-*.m4s 统一转换为Garfield1HD_ ...
- ajax的探究与使用
前端必须掌握ajax,这是几乎所有前端招聘都会要求的一项. 但其实ajax也就是一种异步请求的技术,没有什么很深的东西,不过接触ajax很长一段时间了,早该整理下ajax的学习和使用: PART1: ...