2

ボタンがあり、クリックするとサーバーへの呼び出しがあり、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.
                  });
4

2 に答える 2

1

IDを持つナビゲーションビューが'yourNavigationViewId'あり、表示しようとしているビューが次のように定義されていると仮定'Appname.view.Viewname'します。ajax呼び出しの成功ハンドラーで、次のようにします。(の2番目の引数ですべての構成要素を渡すことができます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 に答える