一个简单的AJAX

本文介绍了一个简单的AJAX应用实例,包括JS脚本实现与Struts1.x后台交互的方法。前端通过JavaScript发起请求并处理响应,后台使用Java进行验证处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个简单的AJAX

 

JS脚本:

 //页面调用方法
function getInfo(obj){
	var ajax=getAjaxObject();
	url="ajaxAction.do?method=ajaxCheck";
	ajax.onreadystatechange =function(){
		var buffer="";
		if (ajax.readyState == 4&&ajax.status == 200){
			buffer=ajax.responseText;
			//*回调调用方法
			ajaxCallback(buffer);
		}	
	}
	ajax.open("POST",url);
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
	ajax.send("para="+obj);
}
//*get Ajax Object
function getAjaxObject(){
	if (window.ActiveXObject) {	
		try{		
			ajax = new ActiveXObject("Microsoft.XMLHTTP");			
		}catch(e){		
			alert("创建Microsoft.XMLHTTP对象失败,AJAX不能正常运行.请检查您的浏览器设置.");
		}		
	} else {	
		if (window.XMLHttpRequest) {			
			try{
				ajax = new XMLHttpRequest();				
			}catch(e){			
				alert("创建XMLHttpRequest对象失败,AJAX不能正常运行.请检查您的浏览器设置.");
			}			
		}
	}		
	return ajax;
}

 struts1.x action:

	public ActionForward ajaxCheck(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){ 
		PrintWriter writer;
		response.setContentType("text/plain;charset=GBK");
		response.setHeader("Pragma","No-Cache");
		response.setHeader("Cache-Control","No-Cache");
		response.setDateHeader("Expires", 0);
		boolean enable=false;
		try{
			writer=response.getWriter();
			AjaxService ajax=new AjaxService ();
			String para=request.getParameter("para");
			enable = ajax.checkSomething(para);
		} catch (Exception e) {
                                                log.error(e.getMessage());
			return mapping.findForward("exception");
		}
		writer.print(enable);
		writer.close();
		return null;
	}

 备注:

       如果需要向页面返回一个JS对象,可以在java中拼装一个对象字符串({name:'jack',sex:'m'}),在前台得到这个字符串后将其转换成一个JS对象(var obj=null;  eval("obj="+outputString);  return obj;)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值