下面是一些关于Ext和Jquery的Ajax的例子,在实际项目中测试通过;
其实Ext.Ajax的使用并不难,只是当初我一直不清楚如何获取其返回值,搞得郁闷了一阵子,以下是一个比较简单的例子
1Ext.Ajax.request({
2 url: 'Register.aspx',
3 params: {
4 oper: 'login',
5 LoginEmail:Ext.get('LoginEmail').dom.value,
6 LoginPwd:Ext.get('LoginPwd').dom.value
7 },
8 success: function(response, options) {
9 var responseArray = Ext.util.JSON.decode(response.responseText);
10 if(responseArray.success=='true'){
11 Cookies.set('Allcard_userName', responseArray.user);
12 Ext.Msg.alert('信息','您已成功登录!',IsLogin);
13 }
14 else{
15 Ext.Msg.alert('失败','登录失败,请确认您的帐号密码无误!');
16 }
17 }
18 });
代码说明:
2行:URL参数是要提交到的页面
3行:params是一个需要提交的参数集,使用逗号分隔
8行:当回调成功返回后要执行的函数
9行:获取服务器端的回调参数值
10行:对回调值进行判断处理
这里,得到的responseArray是一个Json数组。如果其中不只一条数据。可以用读取数组的方法,完全读取出来。下面是一个代码:
for(int ii=0;ii<responseArray.length;i++){
alert(responseArray[ii].id);
}
在action中,需要返回一个json对像。下面是我一个实际项目中的示例:
li = pBO.getListForJson(nextTable, nextDisplayColumn, nextValueColumn, where, DbType);//取得一个list
JSONArray jsonArray1 = JSONArray.fromObject( li );
//json包中的jsonarray类,注意,只有json-lib-2.2.3-jdk13.jar包不够,还需要一个ezmorph-1.0.5.jar包
System.out.println(jsonArray1);
response.setContentType("text/json; charset=gb2312");
response.getWriter().write(jsonArray1.toString());//action中输出该JSON对像到前台页面
这里,小弟没有找到很简单的方法可以把RESULTSET输换为JSONARRAY,我的实现方法是新建一个类。然后根据RESULTSET组装该类,完了把值放到LIST中
这里需要说明一下的是如何获取回调参数值,Extjs里是通过JSON的数据格式来获取参数的,因此在服务器端处理完事情后,回调的参数应该这样写:(以下是ASP.NET里的写法)
result = "{success:true,user:'winson'}";
Response.Write(result);
Response.End();
将数据以键值对的形式返回,接收时就可使用第一段代码里第9行的方法来接收,由于使用的是JSON格式,因此服务器端就可以非常方便地同时返回多个参数值了。
Ext.Ajax基本使用就是这样,其实也挺简单的,只是如果要在提交时增加Loading效果,那就比较麻烦了,呵,这里我也没深入研究
在这里,顺便加上jquery的ajax应用吧
Jquery需要返回的json数据和Ext中需要返回数据是一样的。
该JS实现的功能是把后台查询所得的数据,插入到指定的页面Table中。
tree.on("dblclick",function(node,event){
if(node.leaf!=true){
Ext.MessageBox.confirm('确认框', '你将选择目录下所有项,确定继续吗?',function(button,text){
if(button=="yes") {
url='treejsoncallback.jsp?type=parentType&'+node.id;
$.getJSON(url, function(json){
for(i=0;i<json.length;i++){
//alert(json[i].parentText)
var strArray=new Array();
strArray=json[i].parentText.split(",");
strArray.unshift("");
strArray.push(json[i].nodeId);
//alert(strArray.length);
addRowToTable("table_ds_product",strArray);
}
});
}
});
}
else{
var strArray=new Array();
strArray=node.attributes.parentText.split(",");
strArray.unshift("");
strArray.push(node.attributes.nodeId);
//alert(strArray.length);
addRowToTable("table_ds_product",strArray);
}
});
function addRowToTable(strTableId, arrTdText){
var objTable = document.getElementById(strTableId);
if( objTable == null ) {
return;
}
var objTableBody = objTable.getElementsByTagName("TBODY")[0];
var row = document.createElement("TR")
var col = document.createElement("TD")
col.bgcolor='#A6C5FD';
col.appendChild(document.createTextNode(arrTdText[0]))
row.appendChild(col);
for( var i = 1; i < arrTdText.length; i++ ) {
var col = document.createElement("TD")
col.appendChild(document.createTextNode(arrTdText[i]))
row.appendChild(col);
}
var lastCol = document.createElement("TD");
var innerStr = "<input type='image' onmouseover=\"this.style.cursor='hand'\" onclick='del(this)' src='/PsoWeb/images/cqpso/Delete.gif'>";
lastCol.innerHTML=innerStr;
row.appendChild(lastCol);
objTableBody.appendChild(row);}
分享到:
相关推荐
通过这个压缩包,开发者可以获得完整的EXT框架,包括所有必要的JS文件,以及相关的文档和示例,以便于学习和使用EXT Ajax库。 在实际开发中,EXT Ajax库的使用能够显著提升Web应用的交互性和性能,使得数据操作更加...
本教程集合了EXT中文文档和两个EXT的简明教程,为初学者提供了全面的学习资源。 首先,`Ext 中文文档.chm`是EXT的中文参考手册,包含了EXT的各种类库、方法、事件和配置选项的详细介绍。在学习EXT时,这是一个不可...
EXT集锦中的Ajax学习资源是Web开发人员提升技能的重要工具,尤其对于那些专注于EXT框架的开发者来说更是必不可少。Ajax(Asynchronous JavaScript and XML)技术在现代网页应用中扮演着核心角色,它允许页面与服务器...
理解AJAX和JSONP等技术,以及EXT的Ajax和Store组件如何与服务器通信,是EXT开发不可或缺的一部分。 10. **优化与性能**:最后,学习EXT应用的性能优化技巧,如延迟加载、分页和内存管理,可以提升用户体验。 通过...
**Ajax-ext框架详解** Ajax-ext框架是一款强大的JavaScript库,专为构建富客户端应用程序而设计,它结合了Ajax技术的优势和ExtJS库的功能,提供了一种高效、可扩展的方式来实现动态和交互式的Web应用。框架的核心...
这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...
通过本例的学习,我们可以了解到如何使用Ext2.0框架中的Ajax对象与ArcIMS服务器进行交互的基本流程。这不仅涉及到XMLHttpRequest对象的使用,还包括了Ext2.0提供的Ajax请求方法的配置和使用。这些知识对于开发者来说...
总的来说,这个“ext/ajax开发资料”应包含EXT库的Ajax使用方法,以及可能的JavaScript和EXT基础内容,是学习和提升EXT应用开发能力的好资源。通过实践其中的实例代码,开发者能够深入理解EXT如何与Ajax技术结合,...
在Ext JS中,Ajax请求是进行异步数据交互的基础,它允许页面在不刷新的情况下与服务器进行通信。本示例将深入探讨如何在Ext2.0.2中实现Ajax请求的拦截,以便在发送请求前或接收响应后执行自定义逻辑。 首先,我们...
EXT AJAX框架是一个强大的JavaScript库,专门用于构建富客户端应用程序,特别是在Web开发领域。EXT JS框架以其丰富的用户界面组件和高效的数据管理能力而闻名。在AJAX(Asynchronous JavaScript and XML)技术的基础...
Ext JS4学习教程+笔记(一) Ext JS4学习教程+笔记(二)事件处理 Ext JS4学习教程+笔记(六)DataView面板 ...Ext JS4学习教程+笔记(三)Ajax请求 Ext JS4学习教程+笔记(五)Form Panel的使用 Ext学习网址
EXT是一个知名的JavaScript库,主要用来构建富...通过学习这些实例,开发者可以更好地掌握EXT的AJAX使用技巧,提升Web应用的交互性和功能性。在实际开发中,这些知识点对于构建高效、用户体验优秀的Web应用至关重要。
3. 如果看到全中文的响应页面,说明工程运行正常,参见ExtStart.js文档,有非常详细的注释说明Ext.Element类与Ext.select()选择器的使用,以及事件处理的几种使用情况,最后是Ext框架使用Ajax技术的演示部分,需要...
10. **学习资源**:要成功地使用ASP AJAX Ext,开发者需要熟悉JavaScript、CSS、HTML以及ASP.NET的基础知识,同时可以通过官方文档、在线教程和社区论坛获取进一步的帮助和支持。 通过"ASP AJAX Ext Setup"的安装,...
这对于学习和使用AJAXExt是非常有帮助的。 总的来说,ASP.NET AJAXExt Setup是一个强大的工具,可以帮助开发者快速构建具有现代Web交互性的ASP.NET应用程序,而无需深入研究底层的JavaScript或AJAX实现细节。通过...
"EXT学习手册"是针对EXT库的学习资源,分为中英文两个版本,主要涵盖了EXT的常用方法、属性以及整个EXT框架的介绍。对于初学者和有经验的开发者来说,这都是一个非常有价值的参考资料。 CHM(Compiled HTML Help)...
### EXT学习文档知识点详解 #### 1. EXT简介 EXT是一个功能强大的JavaScript库,用于构建交互式的Web应用程序。它提供了一系列工具和API,使得开发者能够更容易地创建动态且丰富的用户界面。EXT支持多种浏览器,并...
在这个名为"EXT学习小例子"的项目中,我们将深入探讨EXTJS如何实现数据的增加、删除和修改功能。 EXTJS的核心是其组件系统,它提供了各种UI组件,如表格、表单、面板、树形视图等,这些组件可以方便地组合在一起...