`

JS中AJAX的简单应用

阅读更多

    最近了解了一下JS中AJAX的应用,总结一下,以备今后不时之需。

一. 创建XHR对象:

/**
 * 创建XMLHttpRequest对象
 **/
function createXmlHttpRequest(){
	var xmlhttp = null;
	try{
		xmlhttp = new XMLHttpRequest();
	}catch(e){  
		//IE7.0一下版本浏览器以ActiveX组件方式创建XMLHttpRequest对象
		var MSXML = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
		for(var i=0; i<MSXML.length; i++){
			try{
				xmlhttp = new ActiveXObject(MSXML[i]);
				break;	
			}catch(e){}
		}
	}
	
	return xmlhttp;
}

 

二. 以GET方式发送数据

/**
 * 利用ajax校验用户名的重复性
 * get方式
 **/
function checkUserByAjaxGet(){
	var groupName = $("GroupName");
	//创建XHR对象
	var xhr = createXmlHttpRequest();
	//设置一个针对readystatechange事件的监听函数
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4){
			if(xhr.status == 200 || xhr.status == 304){
				if(xhr.responseText == '1'){
					var msg = '已存在此用户组,请修改';
				}else{
					var msg = '此用户组可用';
				}				
				var span = document.createElement("span");
				span.innerHTML = "<font color='red'>" + msg + "</font>";
				groupName.parentNode.appendChild(span);
			}
		}
	}
	//GET方式提交
	xhr.open('GET', '/groups/checkUser?name='+groupName.value, true);
	xhr.send(null);
}

 

三. 以POST方式发送数据

/**
 * 利用ajax校验用户名的重复性
 * post方式
 **/
function checkUserByAjaxGet(){
	var groupName = $("GroupName");
	//创建XHR对象
	var xhr = createXmlHttpRequest();
	//设置一个针对readystatechange事件的监听函数
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4){
			if(xhr.status == 200 || xhr.status == 304){
				if(xhr.responseText == '1'){
					var msg = '已存在此用户组,请修改';
				}else{
					var msg = '此用户组可用';
				}				
				var span = document.createElement("span");
				span.innerHTML = "<font color='red'>" + msg + "</font>";
				groupName.parentNode.appendChild(span);
			}
		}
	}
	//准备一个post连接(post方式提交)
	xhr.open('post', '/groups/checkUser', true);
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	//发起请求
	xhr.send('name='+groupName.value);	
}

 

四. 返回XML格式数据信息

/**
 * 利用ajax校验用户名的重复性
 * 返回xml格式解析
 **/
function checkUserByAjaxXml(){
	var groupName = $("GroupName");
	var xhr = createXmlHttpRequest();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4){
			if(xhr.status == 200 || xhr.status == 304){
				var ret = xhr.responseXML;
				var flag = ret.getElementsByTagName('flag')[0].firstChild.nodeValue;
				var msg = ret.getElementsByTagName('msg')[0];
				$("tip").innerHTML = "<font color='red'>"+msg.firstChild.nodeValue+"</font>";
				if(flag != 0){
					groupName.value = '';
					groupName.focus();
				}
			}
		}
	}
	xhr.open('GET', '/groups/checkUserXml?name='+groupName.value, true);
	xhr.send(null);
}

 对应目标处理端:

header("Content-Type:text/xml; charset=utf-8");
$xml = '<?xml version="1.0" encoding="utf-8" ?>';
$xml .= '<result>';
$xml .= '<flag>'.$flag.'</flag>';
$xml .= '<msg>'.$msg.'</msg>';
$xml .= '</result>';
echo $xml;exit;

 FireBug前端捕获:

 

五. 返回 JSON 格式数据信息:

/**
 * 利用ajax校验用户名的重复性
 * 返回Json格式解析
 **/
function checkUserByAjaxJson(){
	var groupName = $("GroupName");
	var xhr = createXmlHttpRequest();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4){
			if(xhr.status == 200 || xhr.status == 304){
				//var ret = eval('('+xhr.responseText+')');				
				var ret = JSON.parse(xhr.responseText);
				$("tip").innerHTML = "<font color='red'>"+ret.msg+"</font>";
				if(ret.flag != 0){
					groupName.value = '';
					groupName.focus();
				}
			}
		}
	}
	xhr.open('GET', '/groups/checkUserJson?name='+groupName.value, true);
	xhr.send(null);
}

 对应目标处理端:

header("Content-Type:text/json; charset=utf-8");
$json = json_encode(array('flag'=>$flag, 'msg'=>$msg));
echo $json;exit;

 FireBug前端捕获:

  • 大小: 19 KB
  • 大小: 5.5 KB
2
0
分享到:
评论

相关推荐

    AJAX简单应用

    在"AJAX简单应用"这个例子中,我们可以探讨以下几个关键知识点: 1. **XMLHttpRequest对象**:AJAX的核心是XMLHttpRequest(XHR)对象,它是JavaScript内置的对象,负责在后台与服务器进行通信。通过创建...

    asp中AJAX简单应用.rar

    在"asp中AJAX简单应用.rar"这个压缩包中,我们很显然会看到一个关于如何在ASP环境中集成和使用AJAX的实例。动态读TEXTBOX类容与后台数据比较,这表明该示例可能涉及以下几个知识点: 1. **JavaScript基础**:首先,...

    asp.net ajax简单应用实例

    在这个"asp.net ajax简单应用实例"中,我们将探讨如何利用ASP.NET AJAX实现一个功能:当用户在下拉框中选择不同的选项时,页面上的某个Label控件的值会相应改变,而无需整个页面重新加载。 首先,`Default.aspx`是...

    简单的Ajax应用

    总的来说,"简单的Ajax应用"涵盖了Web开发中的重要一环,即如何利用Ajax技术实现无刷新的页面更新,提高用户交互体验。通过理解并掌握这些知识点,开发者可以构建出更高效、更友好的Web应用程序。

    java ajax简单应用

    首先,我们来看标题“java ajax简单应用”。这个主题主要涉及两个核心技术:Java Servlet和Ajax。Java Servlet是Java平台上的服务器端组件,用于扩展Web服务器的功能,处理HTTP请求。而Ajax则是在客户端进行的,它...

    Ajax简单应用实力

    在“Ajax简单应用实力”这个主题中,我们可以探讨以下几个关键知识点: 1. **XMLHttpRequest对象**:Ajax的核心是XMLHttpRequest(XHR)对象,它允许JavaScript在后台与服务器进行通信。创建一个XHR对象,然后通过...

    AJAX简单应用(附加代码!)

    标题 "AJAX简单应用(附加代码!)" 暗示我们将探讨如何使用AJAX进行简单的交互式网页开发。这个主题通常会涵盖以下几个关键知识点: 1. **创建XMLHttpRequest对象**:这是AJAX的核心,JavaScript通过创建这个对象来...

    AJAx简单应用模式

    **AJAX(Asynchronous JavaScript and XML)*...综上所述,AJAX简单易用模式主要涉及异步通信、数据格式、跨域策略、库的封装和现代编程范式。理解并熟练运用这些知识点,可以帮助开发者构建更加互动和高效的网页应用。

    一个完整的ajax应用例子

    1. **防止跨站请求伪造(CSRF)**:在实际应用中,需要添加CSRF令牌来防止恶意请求。 2. **错误处理**:考虑请求失败的情况,添加适当的错误处理机制。 3. **性能优化**:减少不必要的请求,比如使用缓存或在前端...

    很典型的ajax应用

    在这个“很典型的ajax应用”中,我们将深入探讨如何实现一个输入关键字动态显示列表的简单实例,以及如何将Ajax技术应用于Java后端。 首先,让我们从用户界面(UI)开始。在这个实例中,用户会有一个输入框用于输入...

    PHP+AJAX简单的数据交换实例

    在Web开发中,PHP和AJAX(Asynchronous JavaScript and XML)是两种常用的技术,它们结合使用可以实现无刷新的数据交互,提升用户体验。本实例将详细讲解如何利用PHP和AJAX进行简单但实用的数据交换。 首先,PHP是...

    ajax应用举例

    在本示例中,我们将深入探讨如何使用Ajax实现简单的应用,以帮助你快速掌握其核心概念和用法。 首先,Ajax的核心在于创建一个XMLHttpRequest对象,这是浏览器内置的对象,允许我们与服务器进行异步通信。在...

    ajax的简单应用

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,...以上就是Ajax在ASP.NET 2.0中的简单应用。通过Ajax,我们可以创建更加流畅、高效的用户体验,提高Web应用程序的性能和响应性。

    AJAX简单实例(.net)

    AJAX(Asynchronous JavaScript ...在实际开发中,还可以结合使用ASP.NET MVC或ASP.NET Core中的AJAX扩展,以及各种前端框架(如React, Angular, Vue.js)提供的AJAX库,如axios或fetch,来进一步优化和增强AJAX功能。

    自己用的简单封装AJAX类

    AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,广泛应用于Web开发中,以提升用户体验。 **描述解读:** 描述中提到,作者在寻找现成的AJAX类时觉得使用...

    Node.js解析ajax参数Demo

    在现代Web应用中,通常使用jQuery、axios或fetch API等库来简化Ajax请求的编写。在这个Demo中,我们假设前端使用jQuery的$.ajax()方法发送请求。 ```javascript // 前端jQuery示例 $.ajax({ url: '/api/data', ...

    ajax工具的应用

    总的来说,AJAX在现代Web开发中扮演着重要角色,通过它,开发者能够构建更加高效、流畅的用户体验,同时也要注意其局限性和优化策略,以确保应用的可访问性和性能。随着技术的不断发展,AJAX也在持续进化,适应着日...

    ajax 技术基本应用

    在实际应用中,JSON(JavaScript Object Notation)通常作为数据交换格式,因其轻量级和易读性而广受欢迎。在Ajax请求中,可以通过JSON.stringify()将JavaScript对象转换为JSON字符串发送给服务器,服务器处理后返回...

    AJAX框架DWR简单应用

    在提供的“AJAX框架DWR简单应用.pdf”文件中,你可能会找到关于如何设置DWR环境、编写Java接口、配置DWR配置文件、在前端JavaScript中使用DWR,以及示例代码和实际运行效果的详细教程。这个文件是学习和理解DWR工作...

    JS+AJAX+CSS中文帮助文档和示例

    JavaScript(JS)、Ajax(异步JavaScript和XML)和层叠样式表(CSS)是Web开发中的核心技术,它们共同构建了动态、交互性和视觉吸引力强的网页应用。这个压缩包包含了这些技术的中文帮助文档和示例,对于学习和理解...

Global site tag (gtag.js) - Google Analytics