AJXA在jsp中的运用

这期我们来讲一讲AJXA在jspAjx前端网页中的使用

AJXA有什么用

页面不用刷新即可实现数据的跳转,不刷新整个页面,只刷新区别,有效利用带宽,例如浏览器搜索时输入关键字自动补充

只输入一个字就可以自动弹出完整的文本,方便用于大项目的搜索

AJXA要怎么用

首先我们要做的是连接Servlet服务器,然后设置请求头信息,再设置回调函数,判断请求响应以及服务器状态,然后发送,那么AJXA有哪些状态呢?

 所有我们再调用时要判断服务器状态,如下:

var xmlhttp;
		try{
			xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
		}
		catch(e){
			xmlhttp=new XMLHttpRequest();
		}
		//连接服务器
		xmlhttp.open("post","IndexServlet?str="+s,true);
		//设置请求头信息
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		//设置回调函数
		xmlhttp.onreadystatechange=function(){
			//判断请求响应结束
			if(xmlhttp.readyState==4){
				//服务器正常
				if(xmlhttp.status==200){
					//接收响应的数据
					var str = xmlhttp.responseText;
					var nlist = eval(str);
					var nstr = "<table  border='1' align='center'>";
					//遍历集合
					for(var i=0;i<nlist.length;i++){
						nstr+="<tr onmouseover='over(this)' onmouseout=out(this);>";
						nstr += "<td>";
							nstr += nlist[i].ntitle;
						nstr += "</td>";
						nstr+="</tr>"
					}
					nstr += "</table>";
					//赋值到div
					document.getElementById("d").innerHTML=nstr;
				}
			}
		}
		//发送
		xmlhttp.send(null);

 服务器端定义方法:

@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("来了");
		String s = req.getParameter("str");
		if(s==null) {
			s = "";
		}
		System.out.println("接收:"+s);
		ArrayList<News> nlist = new NewsDao().getByLike(s);
		String str = JSON.toJSONString(nlist);
		resp.setCharacterEncoding("utf-8");
		PrintWriter out = resp.getWriter();
		out.print(str);
		out.flush();
		out.close();
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值