费了九牛二虎之力测试了一下这个东东,有学习的供参考!多交流!嘿嘿。。。
第一种方式:
//后台返回值:
{"data":{"bookStatusId":20,"returnTime":"2011-03-05","bookSN":"123456-1","lendTime":"2011-03-02 11:20",
"borrower":"李四","bookId":61,"borrowerId":6,"lendOutId":34,"bookName":"1"},"success":true
}
//前台解析:
Ext.Ajax.request({
url : _ctx.base + '/administration/bRet_loadBooksLendOutInfo.action',
params : { ID : comboBox.getValue()},
success : function(response, options){
var resp = Ext.decode(response.responseText);
alert("resp:"+resp+"/value:"+resp.data.borrower);
},
failure : function(response,options){
Ext.Msg.alert("错误","数据加载失败!")
}
});
alert 输出的结果为:resp:[object Object]/value:李四
第二种方式:
//后台返回值:
{"data":{"bookStatusId":20,"returnTime":"2011-03-05","bookSN":"123456-1","lendTime":"2011-03-02 11:20",
"borrower":"李四","bookId":61,"borrowerId":6,"lendOutId":34,"bookName":"1"}}
据说没有success : true
, 是不能解析的。经过本人测试,这是错误的说法!
当我只改了后台(去掉了success),其他不变的前提下,输入结果跟第一种方式结果一此。故然反驳。
第三种方式:
//后台返回值去掉了最外层大括号,如下:
{
"bookStatusId":20,"bookSN":"123456-1","returnTime":"2011-03-05","lendTime":"2011-03-02 11:20",
"borrower":"李四","bookId":61,"borrowerId":6,"lendOutId":34,"bookName":"1"}
//前台解析:
success : function(response, options){
var resp = Ext.decode(response.responseText);
alert("resp:"+resp+"/value:"+resp
.borrower);
}
alert 输出的结果为:resp:[object Object]/value:李四
第四种方式:
//后台返回值:
[{
"bookStatusId":20,"bookSN":"123456-1","returnTime":"2011-03-05","lendTime":"2011-03-02 11:20",
"borrower":"李四","bookId":61,"borrowerId":6,"lendOutId":34,"bookName":"1"}]
//前台解析:
success : function(response, options){
var resp = Ext.decode(response.responseText);
// var resp = Ext.util.JSON.decode(response.responseText); //这种方式也行
var a = resp[0].lendTime;
alert("borrower:"+a);
}
alert 输出的结果为:borrower:李四。
这里也推翻了多数所说的接收数据规则,如:{
msg:"",data:""}
本人认为只要符合JSON数据接收形式就行了,再看你怎样去获取返回到前台的值。
差不多就这些了,多多交流,给点意见!!!不吝赐教!!!
分享到:
相关推荐
总结来说,`Ext.Ajax.request`在EXTJS中是进行Ajax通信的关键工具,通过调整其配置参数,我们可以实现同步请求。尽管同步请求有其应用场景,但应谨慎使用,以避免对用户体验造成负面影响。在EXTJS 2.x这样的老版本中...
标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...
ExtJs提供了Ext.Ajax.request方法来进行Ajax请求,但默认情况下,该方法不支持waitMsg属性,不像fp.form.submit方法提供了waitTitle和waitMsg属性来实现等待提示。为了解决这一限制,我们可以采用Ext.MessageBox的...
总结来说,`Ext.Ajax.request`是EXTJS中的核心通讯工具,提供了丰富的配置选项和回调机制,能够满足各种复杂的服务器交互需求。理解和熟练使用这个方法,对于EXTJS开发者来说至关重要。通过阅读相关博客和源码,我们...
`Ext.Ajax.request`是ExtJS中的一个方法,用于发起Ajax(异步JavaScript和XML)请求。它可以执行GET、POST、PUT、DELETE等各种HTTP操作。在默认情况下,这些请求是异步的,这意味着它们不会阻塞页面的其他操作,而是...
在EXTJS框架中,`Ext.FormPanel`和`Ext.Ajax.request`提供了两种不同的异步提交方法,它们各自有其特点和适用场景。下面我们将详细探讨这两种方式的区别。 1. **Ext.FormPanel的异步提交** `Ext.FormPanel` 是...
Ext.Ajax.request 方法是 ExtJS 框架中用于执行 Ajax 请求的核心功能之一,它允许开发者轻松地向服务器发起异步请求并处理响应结果。此方法提供了非常丰富的配置选项,能够满足大多数情况下对于 Ajax 通信的需求。 ...
4. `Ext.Element.update`用于局部更新,常与`Ext.Ajax.request`配合,服务端返回HTML片段。 在使用EXTJS时,有几点需要注意: 1. 尽量利用EXTJS的API,如`Ext.fly`、`Ext.createChild`和`Ext.on`等,以减少对DOM...
在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来实现。与传统的异步请求不同,同步请求会阻塞浏览器,直到请求完成并返回结果。虽然这种方式在某些特定场景下可能有用,但大多数情况下,由于其可能导致页面无响应,...
**Ext.Ajax**是ExtJS框架中的一个核心组件,用于实现与服务器的异步通信,即Ajax请求。这一功能对于构建动态、响应式和交互式的Web应用至关重要。Ext.Ajax提供了一套封装良好的API,使得开发者能够更轻松地管理HTTP...
【EXTJS】Ext.AJAX与FormPanel在登录案例中的应用 EXTJS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序。在EXTJS中,Ext.AJAX和Ext.FormPanel是两个核心组件,它们分别用于异步与服务器进行数据交互和...
Ext.Ajax.request({ url: 'your-url', method: 'GET', success: function(response) { var result = Ext.decode(response.responseText); // 处理结果 }, failure: function(response) { // 处理失败情况 ...
12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 ...
12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 ...
Ext.Ajax.request({ url: "updateuser.aspx", params: { data: Ext.encode(record.data), // 将数据编码成字符串形式 id: record.id }, success: function() { alert(10); } }); grid.getView().refresh...
在handler函数中,我们使用Ext.Ajax.request方法来发送请求到后台,并将后台的响应返回到前台。 三、后台控制器 在上面的代码中,我们可以看到后台控制器shenHeQuanBuTongGuoXueLiShuJv方法,该方法用于处理前台...