function symbol_handler(){
fp.getForm().submit({
url:'/index.php/ajax/test_function',
success:function(resp){
//how would i access attributes of the json object?
}
});
编辑:这是php控制器,如果它是相关的。
function test_function(){
$array = array(
'success' => 'true',
'msg' => 'testing testing testing'
);
echo json_encode($array);
}
使用
输出console.log(resp) function symbol_handler(){
fp.getForm().submit({
url:'/index.php/ajax/test_function',
success:function(resp){
console.log(resp);
}
});
}
...
Object
activeAction: null
bodyStyle: "padding: 6px"
buttons: Array (1)
0: Object
handler: function symbol_handler(){
hideParent: true
minWidth: 75
removeMode: "container"
text: "GO"
__proto__: Object
length: 1
__proto__: Array
el: Object
events: Object
frame: true
height: 100
id: "ext-gen48"
items: Object
labelWidth: 40
title: "Exercising textfields"
width: 300
__proto__: Object
谢谢,brandon
答案 0 :(得分:2)
success
- 回调的签名为function(form, action)
,其中form
是对提交表单的引用,action
是已提交的操作对象。它可以是Ext.form.Action.Submit
或Ext.form.Action.DirectSubmit
的实例(取决于您是否使用Ext.direct
)。
action
对象可以访问大量属性,其中包含result
- 包含已解码响应对象的属性。因此,您的ExtJS代码应如下所示:
function symbol_handler(){
fp.getForm().submit({
url:'/index.php/ajax/test_function',
success:function(form, action){
console.log(action.result);
}
});
}
答案 1 :(得分:1)
根据extjs 3.2.1 API(我不知道你使用的是哪个版本),成功函数传递了以下参数:
- form:Ext.form.BasicForm表单 请求采取行动
- action:Ext.form.Action Action类。的结果属性 可以检查这个对象 执行自定义后处理。
醇>
尝试将以下内容添加到success函数中,以了解函数中传递的参数:
console.log(arguments);