var store = "{ id: '1', text: '测试1-1' }, { id:
'2', text: '测试1-2' }, { id: '3', text: '测试1-3'}";
var jsonStore = Ext.util.JSON.decode(store);
为什么jsonStore返回的只剩最后一个"测试1-3"的,前面的都不见了
Ext.util.JSON.decode()是將字串轉變為JSON object型態,
以上述的例子
var store = "{ id: '1', text: '测试1-1' }, { id: '2', text: '测试1-2' }, {
id: '3', text: '测试1-3'}";
來說
其實並不是一個JSON型態的字串,
我在此作一個假設,
假設您的字串為
var store = "{
rows : [{ id: '1', text: '测试1-1' }, { id: '2', text: '测试1-2' }, {
id: '3', text: '测试1-3'}]
}";
如此一來,使用var jsonStore = Ext.util.JSON.decode(store)便會得到json object
jsonStore.rows[0].id -->'1'
jsonStore.rows[1].id -->'2'
jsonStore.rows[2].id -->'3'
jsonStore.rows[0].text --> '测试1-1'
上面的这些代码是我网上找来的,下面是我自己的实践可以成功得到数据
//取后台数据
function getManager(deptId){//传一个部门id
Ext.Ajax.request({
url: '/pss/deptemps_getManagerInfo.do?departmantId='+deptId,
success: function(res){
//Ext.Msg.alert("提示消息",res.responseText);
var jsonResult = Ext.util.JSON.decode(res.responseText);
alert(jsonResult.manager.name);//我返回的数据只有一个,这里也不能用manager[0].name
Ext.Msg.alert("提示",jsonResult.manager.name);
},
failure: function(){
Ext.Msg.alert("发送失败","失败");
}
});
}
后台的响应参数为:
{"manager":{"name":"sammor","userId":1002}}
以上供大家互相学习参考
分享到:
相关推荐
博客中提到的链接可能详细介绍了如何通过`Ext.Ajax.request`解决实际问题,包括错误处理、自定义HTTP头、JSON数据发送等。例如,可以通过`headers`配置来添加自定义HTTP头: ```javascript headers: { 'Content-...
(1)Ext.FormPanel f.getForm().submit({ url:”... }, failure:function(c,v,e){} }) (2)Ext.Ajax.request Ext.Ajax.request({ url:”….”, params:{XX:xx….}, success: function (v,c) { var json=Ext.decode(v.r
使用 `Ext.Ajax.request` 方法提交 XML 数据同样非常便捷。 - **基本步骤**: 1. 创建 XML 文档对象。 2. 使用 `Ext.Ajax.request` 方法发送该对象到服务器。 - **示例代码**: ```javascript function getXml...
在Ext JS中,Ajax请求是进行异步数据交互的基础,它允许页面在不刷新的情况下与服务器进行通信。本示例将深入探讨如何在Ext2.0.2中实现Ajax请求的拦截,以便在发送请求前或接收响应后执行自定义逻辑。 首先,我们...
本示例探讨如何利用Ext JS中的`Ext.form.field.ComboBox`组件,结合Java后端和JSON数据格式,来创建这样一个功能。 `Ext.form.field.ComboBox`是Ext JS框架中一个强大的组件,它提供了下拉列表的功能,可以用于创建...
3. **发送数据:** 在`Ext.Ajax.request`中,可以通过`params`字段传递数据,或者使用`jsonData`、`xmlData`等字段直接传入JSON或XML格式的数据。 4. **处理响应:** 成功或失败的回调函数接收两个参数,分别是响应...
3. **Ajax请求**:使用`Ext.Ajax.request`方法发起异步请求,该方法支持POST或GET方式提交数据。在`action.js`中,可以配置请求的URL(如`action.html`),数据类型,以及成功或失败的回调函数。 4. **服务器端处理...
Ext前后台数据交互是通过Ext.data.Connection组件和Ext.Ajax.request方法来实现的。该方式可以将前台的请求发送到后台,并将后台的响应返回到前台。同时,我们可以使用Asp.NET后台来处理前台发送的请求,并将处理...
ext前台接收action传过来的json数据 代码如下: Ext.Ajax.request({ method:’POST’,//请求方式 params : {dagl_code:dagl_code}, url:lcwPath+”/daxt/lcgl.shtml?method=getJgBycode”,//请求的url地址 success: ...
创建了 **Ext.data.Connection** 实例后,可以调用 `request()` 函数来发送请求。该函数接受多个参数,如: - **url**: 请求的目标URL。 - **params**: 请求参数。 - **method**: 请求方法(GET、POST等)。 - **...
Ext.data支持多种数据格式,如Array、JSON、XML,以及不同的数据获取方式,如Memory(内存)、HTTP、ScriptTag等。对于不常见的数据源和协议,可以通过自定义reader和proxy来扩展其功能,例如DWRProxy使得EXT能够...
1. 使用`Ext.util.JSON.decode`函数:`var dagl_jg = Ext.util.JSON.decode(response.responseText).dagl_jg;` 这是EXT JS提供的内置函数,它将JSON字符串解码为JavaScript对象。 2. 使用`eval`函数:`var json = ...
总结来说,Sencha Touch通过Ext.Ajax.request方法为开发人员提供了构建动态数据交互应用程序的工具,支持从Web服务器获取数据,并将这些数据展示在移动设备上。该方法也能够与Sencha Touch的MVC框架相结合,提供更加...
7. **Ajax请求**:使用`Ext.Ajax.request`方法发送异步请求到服务器获取JSON数据。在响应回调中,解析JSON并更新表单内容。 以下是一个基本的示例代码片段,展示了如何动态加载JSON数据到表单: ```javascript // ...
Ext.AJAX.Request常用参数** - **url**: 服务器端接口地址。 - **params**: 请求参数,以键值对形式传递。 - **method**: HTTP请求方法,通常是GET或POST。 - **callback**: 接收响应后执行的函数,无论成功或失败...
var data = Ext.util.JSON.decode(response.responseText); console.log(data.clientName); ``` #### 五、ExtJS中的AJAX请求方法 ExtJS提供了一个强大的工具`Ext.Ajax.request`来发起HTTP请求,并处理响应。以下是...
除了使用`Store`,Sencha Touch2还提供了`Ext.Ajax.request`方法,这是一种更直接的使用AJAX的方式,适用于特定场景下的数据请求。 ```javascript Ext.Ajax.request({ method: 'POST', url: prefix + '/doc/...
### ext/与Ajax结合获取后台数据的说明及实例 #### 一、引言 随着Web技术的不断发展,前端框架和Ajax技术的结合越来越普遍。在本文档中,我们将详细介绍如何利用ExtJS(简称ext/)与Ajax技术相结合来实现从前端...
Ajax(Asynchronous JavaScript and XML)技术是EXT库中的核心部分,它使得网页可以异步地与服务器交换数据并更新部分网页内容,无需刷新整个页面。这个“ext/ajax开发资料”压缩包显然提供了关于EXT中Ajax使用方法...