ajax的用法

ajax的全称是Asynchronous JavaScript and XML,其实是一个组合而得来的新知识

1原始的ajax的使用方法

ajax使用的四个步骤

1.1收下获得xmlhttprequest对象,由于不同浏览器获取该对象的方式不同,因此这里写一个函数来获取该对象。具体如下所示:

var getXmlhttprequest=function(){
    	try{
    		return new XMLHttpRequest();//这个是大多数浏览器获取xmlhttprequest的方式
    	}catch (e) {
			try{
				return new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e) {
				try{
					return new ActiveXObject("mircosoft.XMLHTTP");
				}catch (e) {
					alert("您用什么浏览器呢");
				}
			}
		}
   	}

1.2获取到该对象之后,要打开连接,使用xmlhttprequest对象的open()方法,如下所示:

/*
  open()方法有三个参数,分别是请求的方式,请求的路径,以及是否异步。其中请求的路径是项目名+Servlet的类的url.

*/
xmlHttpRequest.open('GET',"/ajax/AjaxServlet",true);

1.3发送请求内容,其中get方式是没有内容实体的,但是必须写上null,否则有部分浏览器不认可。

xmlHttpRequest.send(null);

对于post请求需要设置请求头,具体如下:

xmlHttpRequest.open('POST',"/ajax/PostServlet",true);
	    	//发送请求,对于post请求来说,必须加上请求头
	    	xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	    	xmlHttpRequest.send("username=Tisam&password=123");

1.4对xmlhttprequest进行监听

xmlHttpRequest一共有五个状态,这个五个状态都会给这个方法监听
                readyState
                0:刚创建还没有调用open()方法
                1:请求开始,已经调用open()方法但是还没有调用send()方法
                2:完成send()方法的调用
                3:服务器开始响应,但是不一定已经响应完毕
                4:服务器已经响应完毕

xmlHttpRequest.onreadystatechange=function(){
	    	
	    		if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
	    			var text=xmlHttpRequest.responseText;
	    			var ht=document.getElementById("h1");
	    			ht.innerHTML=text;
	    		}
	    	}

1.5对应的html和Servlet类如下:

1.6运行结果如下:

2jQuery对ajax的封装

jquery对于ajax的封装有以下几种,具体的使用方法可以查看jQuery文本,以下是一个简单的例子,所用的servlet均为上面所用到的。

常用的就是$.get(),$.post(),$.ajax({})的方式

2.1使用高级的简单易用的方式

使用get的提交方式

  $.get(
		    	 "/ajax/AjaxServlet",
		    	 function(data){
		    		 $("#h1").html(data);
		    	 }
		     );

使用post的提交方式

 $.post(
			  "/ajax/PostServlet", 
			  {"username":"Tisam","password":"123"},
			  function(data){
				  $("#h2").html(data);
			  }
		   );

 

2.2使用底层的方式

一般情况下,使用简单的方式即可,但是有时候需要指定请求的方式是否异步等则需要用到底层的

 $.ajax(
    	 {
    	    type:"get",	 
    		url:"/ajax/ProvinceServlet",    		
     		async:true,//这里表示是否异步
    		success:function(data){//里面的data是接收后台返回的数据,只有成功的时候返回
    			$("#h3").html(data);
    		},
    		error:function(){
    			alert("请求失败");
    		},
    		dataType:"text"//这个表示请求返回的数据的类型
    	}
    	 );

 

2.3运行结果如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值