有一个按钮,当我点击时会有一个对服务器的调用,我将得到一个JSON响应。
此JSON响应将包含类似于
的字符串{
"value": "Success",
"information": {
"firstName": "kei",
"surname": "chan"
}
}
JSON中的value
字段将为SUCCESS或FAIL。因此,如果是success
,我将必须导航到另一个视图并显示firstName
和surname
。
如果是的话,我需要将值firstName
和lastName
传递给其他视图。
如何在senchaTouch / cordova中传递firstName
和lastName
的值?
代码:
按钮
xtype:'button',
id:'when_button_click',
text:'Send',
ui:'confirm',
控制器类
extend: "Ext.app.Controller",
config: {
refs: {
newNoteBtn: "#when_button_click"
},
control: {
newNoteBtn: {
tap: "onNewNote"
}
}
},
onNewNote: function () {
var values = Ext.getCmp('form').getValues();
console.log("inside onNewNote function");
Ext.Ajax.request({
url: 'http://call.com/the_webservice',
params : values,
failure: function (response) {
var text = response.responseText;
console.log("fail");
}, success: function (response) {
var text = response.responseText;
console.log("success");
}
});
}
// init and launch functions omitted.
});
答案 0 :(得分:1)
假设您有一个标识为'yourNavigationViewId'
的导航视图,而您尝试显示的视图定义为'Appname.view.Viewname'
,则在您的ajax调用的成功处理程序中,执行以下操作:(您可以传递Ext.create
)
success: function (response) {
Ext.getCmp('yourNavigationViewId').push(Ext.create('Appname.view.Viewname', {
data: response
}));
}
答案 1 :(得分:0)
您只需将其他属性添加到控制器正在创建的新View对象中。例如,如果控制器处理程序功能是"推动"像这样的新观点
this.getSomeView().push({
xtype : 'mylistView',
prop1 : 'my property to pass',
prop2 : record.get('comesFromTheEventHandled')
});
然后视图可以在initialize()函数中访问这些属性。 对于代码示例 - 在" mylistView" initialize()部分您将这些属性作为
进行访问this.prop1 and this.prop2