AJAX与Servlet的相关使用

使用AJAX大多数还是与servlet有关系的,尝试了好多次,感觉这种写法比较好!(不喜勿喷)

以检测用户名是否存在为例:

首先创建jsp页面;代码如下

  <body>
    用户名:<input type="text" id="username"/><br>
    <div id="checkdiv"> </div>
    <input type="button" id="button" value="按钮" οnclick="check()"/>
  </body>

然后编写javasc页面:

<script type="text/javascript">
   var xmlhttp;
    //获取
	  function createXmlHttp() {
	    //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
	    if (window.XMLHttpRequest) {
	       xmlHttp = new XMLHttpRequest();                  //FireFox、Opera等浏览器支持的创建方式
	    } else {
	       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
	    }
	  }
  
  function check(){
 
 	var name = document.getElementById("username").value;
 	createXmlHttp();                        //创建XmlHttpRequest对象
	xmlHttp.onreadystatechange = checkName;
	xmlHttp.open("GET", "test?username=" + name, true);
	xmlHttp.send(null);
  }
  function checkName(){
  			if (xmlHttp.readyState == 4) {
		        var value = xmlHttp.responseText;                        //取得地区信息
		
		        //当地区信息包含数据时将信息写回到文本框中
		     document.getElementById("checkdiv").innerHTML=value;
		    }
  }
</script>


创建AJAX可以使用这样的步骤:

1、创建全局变量xmlHttp;

2、编写初始化方法createXmlHttp(),什么时候需要用到xmlHttp,直接createXmlHttp();

3、调用onreadystatechange方法;

4、编写收到servlet传来值的方法;

Servlet按照正常创建即可

如有乱码问题可以再servlet中补充这样的代码:

response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
test文件的内容为:

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		String name = request.getParameter("username");
		if(name.equals("wxc")){
			out.println("用户名已存在");
		}else{
			out.println("用户可以使用");
		}
	}
创建好文件,发布到服务器上便可运行:


就是这样。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值