extjs 调用 ajax。request 返回来的数据怎么提取

function classSchool(value){
Ext.Ajax.request({
url : 'educationalManage/educationalManageAction!getClassSchool',
params: { classID: 'value' },

});
return classschool;
};
我是希望getClassSchool 就返回一个字符串。 在params里加一个 classschool 不知道可不可以。 后天也定义一个classschool。 这样然后return classschool 这样行不行???

因为你提交的时候是异步提交,Ext.Ajax.request默认是异步的,所有先执行的是return result;所以给Ext.Ajax.request添加属性
async: false,
就可以得到你要的值了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-03
这样不行的
成功返回的数据在success的参数里面
function classSchool(value){
Ext.Ajax.request({
url : 'educationalManage/educationalManageAction!getClassSchool',
params: { classID: 'value' },
success: function (response, option) {
var obj = Ext.JSON.decode(response.responseText);
obj.classschool///你要的东西
}
});追问

obj是一个对象来的吗

追答

是,是你返回的数据的集合

追问

请问下用java 后台怎么写。 要定个response 然后response。write 什么什么的吗 请赐教

追答

不用的,只要是有GET SET方法的参数,都会传过来的,classschool只要定义了get,set方法直接写就行。不过穿过来的不管是任何类型,都会变成字符串。用的时候需要转换一下。

第2个回答  2011-11-03
function classSchool(value){
Ext.Ajax.request({
url : 'educationalManage/educationalManageAction!getClassSchool',
params: { classID: 'value' },
success:function(r){
return r.responseText;
}
});
};追问

请问下 用后台怎么写(java)

追答

是的

第3个回答  2011-11-04
function classSchool(value){
var result;
Ext.Ajax.request({
url:'test.aspx?cmd=getclsh',
params:{classID:value},
success:function(response,result){
var data = Ext.decode(response.responseText);
result = data.value;
alert(result+'____');
},
failure:function(){
Ext.Msg.alert('提示','数据库连接错误!');
return 0;
}
});
return result;
}
alert(classSchool('11111'));

后台:
if (cmd == "getclsh")
{
string classID = Request["classID"].ToString().Trim();

res = "{value:'22222'}";

Response.Write(res);
Response.End();
}
这样是不行的,测试得出的结果为先提示“undefined”在提示“22222___";追问

不行?
那我后台用JsonArray 和JsonString行吗

追答

我的意思是: 可以获得后台返回的值,但是不能赋给函数的返回值。

本回答被提问者采纳