日期:2014-05-16  浏览次数:20304 次

EXTjs学习笔记(3)

?? Ajax 一个从06年开始在国内被关注的技术,Ajax给人带来的体验是具有颠覆性的。 一个不用刷性就能展现请求、访问、处理数据的能力。 一开始就被这个所吸引了,尽管有很多被人认为的潜在问题存在,但是与之带来的优点比起来显得不那么重要了。记得07年刚进公司做的一个研发项目全部都是用的是Ajax,当时并没有使用什么js框架 所有的ajax访问都是自行编写的一个公共js。转眼间几年过去了js框架变得更加成熟更加具有吸引力了,现在如果重新再自己去写简直就是浪费人力物力。 找到一个学习曲线短并且具有强大功能的js框架是每个系统架构设计初期都会面临的问题。电信CRM2.0项目公司用了Jquery而没有使用EXT,我想主要还是EXT有些庞大担心影响效率吧,还有就是EXT商用时时收费的这些仅仅是自己的猜测。 如果让我去做抉择,毫无疑问会选择EXT。 说远了,看看ext对Ajax的时限,相当简单:

??

??? 下面我们时限一个通过服务器返回时间,并展示的Ajax例子:

1. 创建返回时间信息的ServerLet

???

?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
??response.setContentType("text/html;charset=utf-8");
??java.io.PrintWriter writer=response.getWriter();
??writer.write(request.getParameter("name")+"服务器时间"+new java.util.Date().toLocaleString());
??writer.flush();
??writer.close();
?}

?

2. 编写访问并获取返回数据的js代码

?

Ext.onReady(function() {
			var button=new Ext.Button({
		    id: "ajaxBtn",
			text: "AjaxTest",
			width: "200",
			renderTo: Ext.getBody()
			});
	
			var ajaxTest=function (){
			Ext.Ajax.request({
						url : 'MyServlet',
						success : function(response, config) {
							Ext.MessageBox.alert('Success',response.responseText);
						},
						failure : function() {
							Ext.MessageBox.alert('Error', 'Erro');
						},
						method : 'POST',
						params : {
							name : 'VerRan'
						}
					});
			}
			Ext.get("ajaxBtn").on("click",ajaxTest);
		});

?3. 编写HTML

?? 一如既往的什么都没有只是引入必须的js和css

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="css/resources/css/ext-all.css" />
<script type="text/javascript" src="js/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/ext-all.js"></script>
<script type="text/javascript" src="js/AjaxTest.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
AjaxTest
</body>
</html>

?

?

小结:

??? EXT 对ajax的封装相当简单易懂,并且具备成功,失败情况下的 回调函数的设置,入参并且可以支持各种类型,简单类型,xml,json等。

?

?