0

私のVIewでは、ボタンを追加しました。ボタンをクリックすると、Controllerクラスが呼び出されます。ビュー内の値(テキストフィールド値)は、WebサービスからURLを介して送信されます。次に、サーバーは以下に示すJSON文字列を返します。

{"値":"成功"}

ここで、このJSON文字列をビューに送り返す必要があります。ビューはJSON応答に応じてユーザーに警告します。JSONがSUCCESSを返した場合は成功アラートが表示され、JSONがFAILを返した場合は失敗アラートが表示されます。

1.)私のコードでは、VIEWからのJSON応答しか表示できませんが、それをCOntrollerに送信するにはどうすればよいですか?(var text = response.responseText;JSON応答を表示します)

2.)どうすれば、文字列をビューから分離し、JSON応答からSUCCESSまたはFAIL文字列のみを取得できますか?

ビュークラスからのボタンの実装

xtype:'button',
                   id:'when_button_click',
                   text:'Send',
                   ui:'confirm',

コントローラークラス

Ext.define('myapp.controller.testcont'、{

                  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

1 に答える 1

1

1.)私のコードでは、VIEWからのJSON応答しか表示できませんが、それをCOntrollerに送信するにはどうすればよいですか?

viewなぜ値をからに戻したいのcontrollerですか?

そうする正当な理由は見当たらない。

このように、Webサービス上およびWebサービスExt.Msg.alertのコントローラー自体にを表示できます。successfailure

.....
.....
url: 'http://call.com/the_webservice',
params : values,

failure: function (response) {
   var text = response.responseText;
   Ext.Msg.alert('Error','Error while executing Web Service');
},

success: function (response) {
   var text = response.responseText;
   Ext.Msg.alert('Success','Web Service code successfully executed');
},
.....
.....

2)どうすれば、文字列をビューから分離し、JSON応答からSUCCESSまたはFAIL文字列のみを取得できますか?

編集:

このようなことをしてください..

var result = Ext.decode(response.responseText);

// result.value = SUCCESS or FAIL
Ext.Msg.alert('Message',result.value);
于 2012-05-06T15:47:02.647 に答える