2012-05-06 10 views
0

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

{「値」:「SUCCESS」}

は今、私は戻って表示するには、このJSON文字列を送信しする必要があり、眺めはJSON応答に応じて、ユーザーに警告します。 JSONがSUCCESSを返した場合、Successアラートが表示され、JSONがFAILを返した場合は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. 
        }); 

答えて

1

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

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

有効な理由はありません。

あなたがsuccessと、このようなWebサービスのfailure上のコントローラ自体にExt.Msg.alertを表示することができ、私は、ビューから文字列を分離し、そして唯一の を得ることができますどのように

..... 
..... 
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文字列ですか?

EDIT:

はこのような何かを...

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

// result.value = SUCCESS or FAIL 
Ext.Msg.alert('Message',result.value); 
+0

1. 'コントローラーは、' 通常のプログラム(、削除、編集機能などを保存する機能を実行するために使用されます) ..)、アラート(ユーザーにはUIコンポーネント)を表示するために 'view'が使用されます。これは私が作成しているログイン画面なので、JSONレスポンスの成功/失敗に応じて、ログインが成功したか失敗したかをユーザーに警告する必要があります(登録ページを表示)。 2.)私はiPhoneとAndroid用のこのアプリケーションを作成しています。 JSONには2つの応答{"value": "SUCCESS"}または{"value": "FAIL"}のいずれかが含まれます。ですから、JSONレスポンスの 'value'プロパティの値を取得する方法が必要です。 –

+0

1)私はポップアップを表示するために単にビューにコールバックする理由は何もありません。 2) 'Json'文字列を' Json'オブジェクトにデコードしてから 'value'プロパティにアクセスする必要があります。 –

+0

編集された部分をチェックして適切な応答を表示します –

関連する問題