费了九牛二虎之力测试了一下这个东东,有学习的供参考!多交流!嘿嘿。。。
第一种方式:
//后台返回值:
{"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数据接收形式就行了,再看你怎样去获取返回到前台的值。
差不多就这些了,多多交流,给点意见!!!不吝赐教!!!
分享到:
相关推荐
主要介绍了ExtJs的Ext.Ajax.request实现waitMsg等待提示效果,需要的朋友可以参考下
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修改用户密码 ...
一、ExtJs中的Ajax:Ext.Ajax.request 23 二、元素对象Ajax式更新:Ext.Updater,[已弃用] 29 第四章 Ext.XTemplate 模板 31 一、使用标签tpl和操作符for 33 二、在子模板的范围内访问父元素对象 34 三、数组元素索引...
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修改用户密码 ...
/** 代码如下: * 第一种Ajax提交方式 * 这种方式需要直接使用ext Ajax方法进行提交 * 使用这种方式,需要将待传递的参数进行封装 * @return */ function saveUser_ajaxSubmit1() { Ext.Ajax.request( { url : ‘user...
我的方法是先用Ext.Ajax.request获取root数据形成TreeStroe。定义一个全局的TreeStroe名字是mTreeStore,用Ext.Ajax.request获得root数据。TreeStoreRefresh函数与此类似,将mTreeStore的root换为新值。TreePanel的...
做Extjs开发中,往往后台程序可能要执行一段时间才能得到返回结果,加入... 代码如下: Ext.Ajax.request({ url:’DataAction.ashx?method=update’, params:{ItemCode:ItemCode,ItemName:ItemName}, callback:function
前台代码: 代码如下:Ext...{ if(btn==”yes”){ Ext.Ajax.request({ url:”可以获得要下载文件的url”, success:function(res){ var obj =Ext.decode(res.responseText); //alert(res.responseText); wi
这就需要修改ExtJS的超时时间: 2种方法: 1:在Ajax请求的时候加:(timeout: 100000000)属性 代码如下: Ext.Ajax.request({ url: ‘foo.php’, success: someFn, failure: otherFn, timeout: 100000000,//
在resources文件夹下新建jscript文件夹,并拷贝ext根目录下ext-all.js文件及adapter\ext\ext-base.js文件至jscript文件夹下,并新建stock.js文件,代码如下: 代码如下:function ajaxRequest(){
API兼容ExtJS的跨域Ajax请求,可以完全舍弃后端,客户端Ajax在回调中直接处理返回值的前台UI业务逻辑, 调用例子如下: Ext.data.JsonP.request({ url: 'http://192.168.81.33:8090/datastore/do/'+Ext.getCmp('...
- 0000768: Better "ext\" folder translation - 0000766: TUniCalender.FirstDayOfWeek property - 0000767: TUniDateTimePicker.FirstDayOfWeek property - 0000765: UniImage: Bug when both Proportional and...