AJAX的实现步骤

1、实现方式:有两种方式
JS
JQuery

2、分别介绍
(1)js的实现方式:
它是通过XMLHTTPRequest对象进行操作,其他部分方法有:
open(提交方式(get|post),服务器地址(servlet的地址),与服务端的连接)
send():get请求:send(null)
post请求:send(参数值)
setRequestHander(hander,value)
:get请求—不需要此方法
post请求:需要设置
a、如果是请求包含文件上传,setRequestHeader(“content-Type”,“multrpart/form-data”)
b、如果是请求包含文件上传,setRequestHeader(“content-Type”,“application/x-www-form-urlencoded”)
XMLHTTPRequest对象属性:readyState:4(正常)
status:200(正常)
responseText:String
responseXML:xml
代码:

var xhr=new XMLHttpRequest();
			function checkUser(username){
				if(username==""){
					alert("用户名不能为空");
		          return false;
				}else{
					
					doAjax("validata?name=" + username);
					
				}
			}
			//处理ajax
			function doAjax(url){
			//设置回调函数
		     xhr.onreadystatechange=process;
			//2、发送请求
			xhr.open("POST", url, true);
			//设置头字段
		  xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		  xhr.setRequestHeader("Content-type", "text/html;charset=utf-8");
		  xhr.send(null);
			
			}
			function process(){
				var mess=document.getElementById("mess");
				
				
				if(xhr.readyState==4&&xhr.status==200){
					if(xhr.responseText=="true"){
						mess.innerHTML="<font color='green'>该用户可用</font>";
					}else if(xhr.responseText=="false"){
						mess.innerHTML="<font color='red'>该用户不存在</font>";
					}
					
				}
				
			}

2、jQuery:
a、

function check(){
		var $name = $("#name").val();
		$.ajax({
			url:"TestServlet",
			请求方式:"post",
			data:"name="+$name,
			success:function(result,testStatus){
				if(result == "true"){
					alert("已存在!注册失败!");
				}else{
					alert("注册成功!");
				}
			},
			error:function(xhr,errorMessage,e){
				alert("系统异常!");
			}
		});

b、

```
function check(){
		var $name = $("#name").val();
		$("#tip").load("TestServlet", "name="+$name);

c:

function check(){
		var $name = $("#name").val();
		$.getJSON(
			"TestServlet",
			{"name":"zs","age":"23"},
			function (result){
				//js需要通过eval()函数  将返回值 转为一个js能够识别的json对象
			var jsonStudent = eval(result.stu1) ;
			alert(jsonStudent.name  +"---"+ jsonStudent.age) ;
			
		}
		);

D:

/* json中有多对象的情况*/
	function  testJson()
	{
		$.getJSON(
				"JsonServlet",
				{"name":"zs",  "age":24},
			function (result){ 
					// result:  {"stu1":stu1, "stu2":stu2,"stu3":stu3 }
					//js需要通过eval()函数  将返回值 转为一个js能够识别的json对象
				var json = 	eval(result) ;
				$.each( json, function(i,element){
					alert( this.name +"---"+ this.age );
				} );
					
					
			}
		);
		
	}

在servlet中:

String mobile =  request.getParameter("mobile") ;
		//假设此时 数据库中 只有一个号码:18888888888
		PrintWriter out = response.getWriter();
		if("18888888888".equals(mobile)) {
			//如果客户端是getJSON(),则需要以json格式返回
			out.print( "{\"msg\":\"true\"}"   );//   {"\"msg\":\"true\""}
		}else {
			out.print( "{\"msg\":\"false\"}"   );// "\"msg\":\"false\""    
		}
		out.close(); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值