springmvc ajax

   

Ajax 是Web 开发一个流行的词汇,全称 Asynchronous JavaScript and XML,异步的JavaScript和XML 。是几种技术的强强联合。
 Ajax如何工作
Ajax(即异步 JavaScript 和 XML)是一种 Web 应用程序开发的手段,它采用客户端脚本与 Web 服务器交换数据。
 为什么要学习Ajax
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。


需要用到的jar包

 

 

XMLHttpRequest对象

 

直接在js里面 实例化一个 

     

var xhr= new XMLHttpRequest();

    XMLHttpRequest对象是整个Ajax开发的基础
提供客户端和服务器异步通信的能力
能够向服务器发出请求
能够接收服务器的返回页面


    如需将请求发送到服务器,要使用 XMLHttpRequest 对象的 open() 和 send() 方法:

open(method,url,async) 

    method 表示请求的方式(get,post)
    url  请求的路径
    async 表示请示同步(false)还是异步(true)
   同步 只允许一个线程运行 ajax请求 一直无反应 会导致页面卡顿 无法操作 可能会弹出 无响应窗口

 

如果 method为 post的时候 。

url的参数不建议使用?参数的方式传入值。

还要加上 

xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

要在send(方法传入的参数) 


回调 onreadystatechange 事件 

每当 readyState 改变时,就会触发 onreadystatechange 事件。         readyState 属性存有 XMLHttpRequest 的状态信息。

     ajax调用后台action会回调该方法 多次

      



Action 推送数据回页面的三种方式 

    

       

//如果是list 那么就使用 
  List list=new ArrayList();
		JSONArray.fromObject(list);

 //如果是object 那么就使用
Object ob=new Object();
		JSONObject.fromObject(ob);		

     1:返回byte [] 数组 无需使用jackon Son


  例:


 2:没有返回值。需要加上 

OutputStream os 推送过去 

 例:

@RequestMapping(value="/deleteEmp")
	public void delete(String empno,OutputStream os) throws IOException{

			empsev.deleteEmp(empno);
		
		
	}

3:返回list(对象) 需要使用到 jackon 包 


	@ResponseBody
	@RequestMapping(value="/ajax")
	public PageParam ajax(String ename,Integer curPage) throws IOException{
		
		
		//获取查询数据
		PageParam  pp= empsev.showEmp(ename, curPage);
		
		return pp;		
		
	}

还需配置上消息转换器


 

<mvc:annotation-driven>
		<mvc:message-converters>
		
		
			<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
				<property name="supportedMediaTypes">
					<list>
						<value>text/html;charset=utf-8</value>
						 <!-- application 可以在任意 form 表单里面 enctype 属性默认找到  -->
						<value>application/x-www-form-urlencoded</value>
						<value>application/json;charset=utf-8</value>
					</list>
				</property>
			
			</bean>
			
		</mvc:message-converters>
	</mvc:annotation-driven>

  

   




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值