`
空指针异常
  • 浏览: 22616 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Ajax调用记录

阅读更多
本文从网络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);
});
分享到:
评论

相关推荐

    ajax 插入记录,删除记录,修改记录

    在这个主题中,我们将深入探讨如何使用Ajax进行记录的插入、删除和修改操作。 **1. Ajax的基本原理** Ajax的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器进行通信。通过创建一个XMLHttpRequest实例,...

    用AJAX的Get和Post调用Servlet的简单示例.doc

    ### 使用AJAX的GET和POST方法调用Servlet的详尽解析 #### 一、引言 在现代Web开发中,异步JavaScript与XML(AJAX)技术被广泛应用于实现无刷新更新网页的部分内容,极大地提升了用户体验。AJAX通过在后台与服务器...

    AJAX-Debugger:Chrome扩展程序,它将所有AJAX(XMLHttpRequest)活动记录到开发工具控制台,允许检查AJAX调用,并在新标签页中打开调用

    单击URL在新选项卡中打开AJAX调用,包括所有输入,从而使调试更加容易。 您甚至可以向下钻取以查看所有低级请求详细信息,包括HTTP标头信息。 记录的数据包括: 文件名为 回应状态 响应时间 回应大小 具有所有...

    ajax 插入记录,修改记录,删除记录 asp.net版本 jQuery

    使用`[WebMethod]`装饰器标记静态方法,并确保这些方法可以被Ajax调用: ```csharp [WebMethod] public static void Add(string name, string otherFields) { // 实现添加记录的逻辑 } [WebMethod] public static...

    jqueryajaxlogger:jQuery Ajax Logger是一个书签,用于记录jQuery ajax调用和触发它的源代码

    jQuery Ajax Logger是一个书签,用于记录jQuery ajax调用和触发它的源代码。 通过它可以轻松地追溯哪些文件和功能正在触发ajax调用。 用法 创建具有以下内容的书签: [removed](function(){document.body....

    js定时器+ajax,间隔10s调用一次

    主要用于消息提醒,利用js页面定时器,定时提交ajax请求,查询最新的消息记录。改了很多次,终于成功了。

    AJAX下保存浏览器历史记录

    要实现在AJAX更新后保存浏览器历史记录,开发者需要在每次AJAX请求成功并更新页面内容后调用`pushState`或`replaceState`。例如,当用户点击一个按钮加载新的内容时,可以执行以下步骤: 1. 发送AJAX请求获取新的...

    jQuery ajax调用WCF服务实例

    恩,在由瘦客户端转换成胖浏览器端的“潮流”下,必然要使用JavaScript调用后台的各种服务。 屌丝所维护的产品通信都是使用的WCF服务,因此必然要学习这样的内容。借用jQuery强大的库,使用JavaScript访问WCF服务...

    Demo3 ajax请求.rar

    这个“Demo3 ajax请求”可能包含了一个简单的Vue组件,它展示了如何在页面加载时通过Ajax调用Web服务接口获取JSON数据,并将这些数据动态填充到一个表格中。这是一个典型的前端与后端交互场景,对于任何使用Vue.js的...

    过滤器和ajax

    通过实现javax.servlet.Filter接口,我们可以创建自定义过滤器来执行诸如身份验证、数据转换、日志记录等任务。在描述中提到的"filter登入过滤",就是利用过滤器在用户访问受保护的页面之前检查其登录状态,确保只有...

    .NET利用jqury+ajax+json方式实现的数据分页

    - 调用`jquery.pagination.js`的初始化方法,设置分页控件的样式、每页显示的按钮数量等属性,并绑定分页事件,确保点击分页按钮时能触发新的Ajax请求。 8. **实现分页功能**: - 当用户点击分页按钮时,jQuery...

    静态页面调用最新浏览记录插件 for Phpcms 2008.rar

    看见过浏览记录的解决方案。但如果要实现的话需要修改源文件,并且需要动态页面才可以调用。且没有详细的操作步骤。 相信会有不少人需要,在参考了PC黄页的产品的浏览记录后 ...2、静态页面AJAX调用。

    ajax调用中ie缓存问题解决方法

    本文主要探讨了在Ajax调用中遇到的IE浏览器缓存问题及其解决方案。 Ajax请求通常用于向服务器获取数据,更新网页部分区域,而不刷新整个页面。然而,在Internet Explorer(IE)浏览器中,如果XMLHttpRequest请求的...

    ajax请求后台接口数据与返回值处理js的实例讲解

    通过这个回调函数,开发者可以执行错误处理的逻辑,比如显示错误信息给用户或记录错误日志。 知识点九:AJAX请求的异步性 AJAX请求的异步性质意味着在请求服务器时,页面不会发生重新加载,用户可以继续与页面交互...

    Ajax 操作实例 ASP.NET实例

    ScriptManager是所有Ajax功能的基础,它负责管理页面上的JavaScript库和Ajax调用。在页面头部添加ScriptManager控件,以启用Ajax支持。 然后,我们将GridView放入UpdatePanel内,并为其绑定数据源。在代码-behind...

    ActiveMQ 使用Ajax 收发消息实战

    9. **错误处理和调试**:在开发过程中,理解和处理可能出现的网络错误、协议错误等是必不可少的,同时日志记录和调试工具的使用也很重要。 10. **性能优化**:最后,根据应用场景调整ActiveMQ的配置,比如消息缓存...

    ajax请求后台数据实现分页功能

    - 返回JSON格式的数据,包括当前页的记录和可能的其他信息,如总页数。 4. **分页逻辑**: - 当用户点击分页链接或按钮时,更新AJAX请求中的页码,重新发送请求并更新前端显示。 - 可以使用计算属性来确定是否...

    apex,ajax相关资料

    Salesforce.com提供的AJAX工具包,即“AJAX Toolkit”,就是一个关键组件,它为开发者提供了在前端使用AJAX调用后端APEX代码的能力,从而实现更加灵活和高效的开发流程。 #### 销售云的AJAX工具包:深入了解 版本...

    ajax 分页 ajax分页

    2. **Ajax调用**:JavaScript监听到用户的操作,触发Ajax请求,向服务器发送请求,请求参数通常包括当前页码和每页显示的记录数。 3. **服务器处理**:服务器接收到请求后,根据参数计算出对应的数据范围,从数据库...

    ajax+php实现了投票的功能

    为了展示投票结果,前端可能有一个定时器,每隔一段时间就通过Ajax调用`poll_result.txt`,获取最新的投票数据,然后更新页面上的投票结果展示。这样,用户可以在不刷新页面的情况下看到实时的投票结果。 总的来说...

Global site tag (gtag.js) - Google Analytics