/**
* 执行基本ajax请求,返回XMLHttpRequest
* Ajax.request({
* url
* async 是否异步 true(默认)
* method 请求方式 POST or GET(默认)
* data 请求参数 (键值对字符串)
* success 请求成功后响应函数,参数为xhr
* error 请求失败后响应函数,参数为xhr
* });
*/
Ajax = function() {
function request(opt) {
function fn() {
}
var url = opt.url || "";
var async = opt.async !== false, method = opt.method || 'GET', data = opt.data
|| null, success = opt.success || fn, error = opt.failure
|| fn;
method = method.toUpperCase();
if (method == 'GET' && data) {
var args = "";
if(typeof data == 'string'){
//alert("string")
args = data;
}else if(typeof data == 'object'){
//alert("object")
var arr = new Array();
for(var k in data){
var v = data[k];
arr.push(k + "=" + v);
}
args = arr.join("&");
}
url += (url.indexOf('?') == -1 ? '?' : '&') + args;
data = null;
}
var xhr = window.XMLHttpRequest ? new XMLHttpRequest()
: new ActiveXObject('Microsoft.XMLHTTP');
xhr.onreadystatechange = function() {
_onStateChange(xhr, success, error);
};
xhr.open(method, url, async);
if (method == 'POST') {
xhr.setRequestHeader('Content-type',
'application/x-www-form-urlencoded;');
}
xhr.send(data);
return xhr;
}
function _onStateChange(xhr, success, failure) {
if (xhr.readyState == 4) {
var s = xhr.status;
if (s >= 200 && s < 300) {
success(xhr);
} else {
failure(xhr);
}
} else {
}
}
return {
request : request
};
}();
Ajax.request({
url : path + "/report/topn/topn_data.jsp",
data : {
datatype : datatype
},
success : function(xhr) {
onData(xhr.responseText);
},
error : function(xhr) {
}
});
分享到:
相关推荐
相关文章:https://blog.csdn.net/superwebmaster/article/details/80678590 如有问题,下载文件内含有联系方式,可以一起讨论技术。
从0到1 JavaScript封装一个自己的Ajax并完善与拓展Ajax
封装ajax与servlet通信的js类,欢迎指正
基于原生javascript封装的Ajax插件,含Node测试接口
1、采用面向对象和JSON封装方式。 2、创建XMLHttpRequest兼容主流浏览器,采用连接池...使用方式可以参考另一资源(javascript访问WebService,js未经封装,但使用方式一样)如有疑问或建议请留言,如有异议请...,谢谢
JavaScript-初识ajax、ajax封装、及json简单实战案例(下)
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行...
调用方法:1 将下载好的Ajax js文件引用到页面 代码如下:<script src " js MyAjax js" type "text javascript">< script> 2 调用方法:(1)异步: MyAjax " 要调用的方法...
在本篇文章中我们总结了关于JavaScript原生封装ajax请求和Jquery中的ajax请求的知识点内容,需要的朋友们学习参考下。
ajax的使用,在js中已经封装好的类库。在真实项目中很有用的一个ajax
AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。
自己总结的JavaScript异步访问的方法。其中有比较详尽的注释。第一个方法返回字符串。第二个方法返回一个XMLDocument对象,可以通过URL生成一个XML文档。
ajax轻量级封装,简单实用,带有详细注释。 一、同一个对象可以发送多个请求,按顺序执行请求,有简单的超时机制,httpXMLRequest对象复用,无序的可以建立多个对象发送请求来实现; 二、兼容IE,FF,支持同步、异步...
封装的一个通用的Ajax function 可以直接进行调用,需要传入的参数:回调函数,跳转的地址,需要传入的参数,method(get或post),失败后调用的函数 例如: var onerror = function() { alert("error"); } var ...
ajax通用脚本是利用了面向对象的编程用javascript代码把把ajax主要的方法封装好,用的时候只要先set后get就行啦,比框架还容易用,只有一个js文件,导入来就可以用啦,里面还带了一个例子,学过编程的朋友一看就会.....
简单的把Ajax请求封装了一下 目前只考虑了请求文本的情况。 超时处理。 某一时刻只能处理一次请求。
本文实例讲述了原生javascript实现的ajax异步封装功能。分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
基于 Promise API 的异步请求函数,支持 node.js、browser 环境