2

有一个按钮,当我单击该按钮时,将调用服务器,我将获得 JSON 响应。

这个 JSON 响应将包含一个类似于

{
    "value": "Success",
    "information": {
        "firstName": "kei",
        "surname": "chan"
    }
}

JSON 中的value字段将是 SUCCESS 或 FAIL。因此,如果是success,我将不得不导航到另一个视图并显示firstNameand surname

firstName如果是这样,我将需要将值传递lastName给另一个视图。

我如何 在 senchaTouch/cordova 中传递firstNameand的值?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.
                  });
4

2 回答 2

1

假设您有一个带有 id 的导航视图,'yourNavigationViewId'并且您尝试显示的视图定义为'Appname.view.Viewname',在您的 ajax 调用的成功处理程序中,执行以下操作:(您可以在的第二个参数中传递所有配置内容Ext.create

success: function (response) {
    Ext.getCmp('yourNavigationViewId').push(Ext.create('Appname.view.Viewname', {
        data: response
    }));
}
于 2012-05-08T16:35:04.930 回答
0

您可以简单地将其他属性添加到控制器正在创建的新 View 对象中。例如,如果控制器处理函数正在像这样“推送”一个新视图

this.getSomeView().push({   
   xtype : 'mylistView',
   prop1 : 'my property to pass',
   prop2 : record.get('comesFromTheEventHandled')
});

然后视图可以在 initialize() 函数中访问这些属性。对于代码示例——在“mylistView”initialize() 部分中,您可以通过以下方式访问这些属性

this.prop1 and this.prop2
于 2012-08-05T00:57:24.590 回答