本文从网络COPY
/** 全局ajax对象 */
var ajax = new Object();
var ajaxCore = null;
/**
* @see 创建ajax核心对象,兼容浏览器有:IE6,7,8,9,谷歌,火狐,欧朋,360极速,360安全,苹果,搜狗,遨游,猎豹,腾讯
* @return XMLHttpRequest
*/
ajax.getCore = function() {
var xmlHttp = null;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
if (xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType("text/xml");
}
} else {
if (window.ActiveXObject) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
if (!xmlHttp) {
window.alert("\u8bf7\u4f7f\u7528IE\u6d4f\u89c8\u5668!");
}
return xmlHttp;
};
/**
* @see 处理ajax参数
* @param param 参数
* @return String
*/
ajax.getParam = function(param) {
var randomStr = "ajaxParamRandom=" + Math.random();
if (param == null || param == "") {
return randomStr;
}
var str = "";
if (typeof(param) == "object") {
for (var key in param) {
str += key + "=" + param[key] + "&";
}
str = (str.length > 0 ? str.substring(0, str.length - 1) : str);
} else {
str = param;
}
return str + "&" + randomStr;
};
/**
* @see ajax的回调函数
* @param callback 用户自定义回调函数
* @param url 请求的url
*/
ajax.doCallback = function(callback, url) {
if (ajaxCore.readyState == 4) {
if (ajaxCore.status == 200) {
if (callback == null) {
return;
}
var result = new String(ajaxCore.responseText);
if (null != result && result != "") {
if (result == "null") {
callback(null);
} else {
var backObject = null;
if (result == "true" || result == "false") {
backObject = eval(result);
} else if (!isNaN(result)) {
backObject = parseFloat(result);
} else if ((result.substring(0, 1) == "[" && result.substring(result.length - 1, result.length) == "]") ||
(result.substring(0, 1) == "{" && result.substring(result.length - 1, result.length) == "}")) {
backObject = eval("(" + result + ")");
} else {
backObject = result;
}
callback(backObject);
}
} else {
callback(result);
}
} else if (ajaxCore.status == 0 || ajaxCore.status == 12029) {
showProgress("0", "1");
alertWin("\u627e\u4e0d\u5230\u670d\u52a1\u5668\uff01", null, "");
} else if (ajaxCore.status == 404) {
showProgress("0", "1");
alertWin("\u627e\u4e0d\u5230\u8d44\u6e90: " + url, null, "");
}
}
};
/**
* @see ajax的post请求
* @param url 请求的url
* @param param 参数列表,可以是字符串或js对象或null
* @param callback 用户自定义回调函数
*/
ajax.post = function(url, param, callback) {
ajaxCore = ajax.getCore();
if (ajaxCore != null) {
ajaxCore.onreadystatechange = function() {
ajax.doCallback(callback, url);
};
ajaxCore.open("POST", url, true);
ajaxCore.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajaxCore.send(ajax.getParam(param));
}
};
/**
* @see ajax的get请求
* @param url 请求的url
* @param callback 用户自定义回调函数
*/
ajax.get = function(url, callback) {
ajaxCore = ajax.getCore();
if (ajaxCore != null) {
if (url.indexOf("?") != -1) {
url += "&ajaxParamRandom=" + Math.random();
} else {
url += "?ajaxParamRandom=" + Math.random();
}alert(url);
ajaxCore.onreadystatechange = function() {
ajax.doCallback(callback, url);
};
ajaxCore.open("GET", url, true);
ajaxCore.send(null);
}
};
调用:
ajax.post("/oc/iva.htm", {id:1, version:'1.2.6'}, function(json) {
alert(json.success);
});
分享到:
相关推荐
单击URL在新选项卡中打开AJAX调用,包括所有输入,从而使调试更加容易。 您甚至可以向下钻取以查看所有低级请求详细信息,包括HTTP标头信息。 记录的数据包括: 文件名为 回应状态 响应时间 回应大小 具有所有...
主要用于消息提醒,利用js页面定时器,定时提交ajax请求,查询最新的消息记录。改了很多次,终于成功了。
jQuery Ajax Logger是一个书签,用于记录jQuery ajax调用和触发它的源代码。 通过它可以轻松地追溯哪些文件和功能正在触发ajax调用。 用法 创建具有以下内容的书签: [removed](function(){document.body....
恩,在由瘦客户端转换成胖浏览器端的“潮流”下,必然要使用JavaScript调用后台的各种服务。 屌丝所维护的产品通信都是使用的WCF服务,因此必然要学习这样的内容。借用jQuery强大的库,使用JavaScript访问WCF服务...
看见过浏览记录的解决方案。但如果要实现的话需要修改源文件,并且需要动态页面才可以调用。且没有详细的操作步骤。 相信会有不少人需要,在参考了PC黄页的产品的浏览记录后 ...2、静态页面AJAX调用。
Ajax存在问题就是在异步情况下无法控制什么时候完成记录显示,本人根据回调方法封装了个类,能够将回调方法用参数方式指定,使ajax调用结束后调用回调方法,吧内容传回。ajaxSubmitToDivCallback(显示内容div,提交...
友好的设计、日志记录、探查器、调试ajax调用或cli支持等高级功能。你会喜欢的。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小...
将所有AJAX活动记录到“开发工具控制台”,从而允许检查AJAX调用,并使用所有输入在新选项卡中打开调用。 AJAX调试器会将所有AJAX(XMLHttpRequest)活动记录到Chrome的开发者工具控制台。 这使开发人员可以轻松查看...
将所有AJAX活动记录到Dev工具控制台,允许对AJAX调用进行检查,并在新选项卡中打开所有输入的调用。 AJAX调试器会将所有AJAX(XMLHttpRequest)活动记录到Chrome的开发者工具控制台。 这使开发人员可以轻松查看顶级...
jQuery-JSONP是一个支持 JSONP 调用的 jQuery 插件,使用它是因为它支持出错时的 ajax 回调,而 jQuery 的 $.ajax 不支持,我们已经在实际项目中使用,在开始使用时遇到了2个问题,在这里记录并分享一下。
附件前端使用AJAX以JSON方式传输传输数据,后端将JSON解析为实体类,解析结果会以TXT形式存入本地。最终实现以JSON格式用AJAX调用WEBSEVICE并留下记录,实测可正常运行。
ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $where['name']= array('like','%'.(string)$name.'%');...// 实例化分页类 传入总记录数、ajax更新的局部
3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录进行显示。 5.单数据源配置(兼容Tomcat和Weblogic)。 6.Hibernate...
使用Ajax来动态获取聊天记录,可以避免屏幕不断刷新而出现的闪动现象,另外,使用Ajax也可以减少服务器端的负荷,对这种客户端与服务器端通信量极大的程序是非常有意义的。对用户来讲,极大的提高了用户体验 ...
ajax请求是一种无刷新式的用户体验,可以发送GET和POST两种异步请求,现记录如下: GET请求: function sendRequestByGet(){ //定义异步请求对象 var xmlReq; //检测浏览器是否直接支持ajax if(window....
| AJAX应用:适时获取新的字符串后设置上述接口再调用initialize()即可 | | 参考网上代码所写,变量名不是很规范。请见谅| | | |---------------------------------------------------------------...
ajax调用java实例源码开放罗伯塔实验室 构建状态: 掌握 开发 我们使用 BrowserStack 进行跨浏览器测试 介绍 以下步骤说明了如何开始使用这些源。 如果您只想在本地运行服务器,请查看 . 如果您想贡献,请与我们联系...
C# MVC ajax调用api接口,api接口以List的形式接收参数,以实现多条记录的操作,以VS2013打开,ASP.NET MVC 4,下载解压rar-demo直接打开运行即可。压缩文件里也包含了“IHttpActionResult不识别解决办法”的文档以...
在新项目中使用的是springboot编写的api,涉及到ajax跨域请求和传输文件的问题,在这里记录一下 首先是前台页面的代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>...
约会后会有一个称为“ ah”(ajax hook)的一部分对象,通过它可以调用ajax-hook的API,如ah.proxy(hooks) NPM♡ npm install ajax-hook拦截XMLHttpRequest通过proxy(hooks)拦截: import { proxy , unProxy } from ...