2016-10-26 8 views
1

おはようございます。私はExtjsにはまったく新しく、既に開始された大きなプロジェクトに挿入されました。 私はもちろんフレームワークを勉強していますが、私はすべてのコードに打撃を受けています。Extjs 5.0.1 JSON POSTリクエストを適切な方法で送信する方法

POSTでJSONパラメータを使用して、残りの呼び出しを行う適切な方法を理解したいと思います。

これは私の実際の状況です:私は(setup.jsと呼ばれる)ビューファイルでコンボボックスを定義している

と私は別の次

emptyText: 'Select a country', 
       listConfig: { 
        itemTpl: [ 
         '<div><span class="" style="margin-right: 10px;"><img src="resources/flags/{id}.png"></span>{name}</div>' 
        ] 
       }, 
       listeners: { 
        /*created the after render listener to wait until the store is loaded. then I set the default value*/ 
        select: 'onCountrySelect', 
        afterrender: 'onAfterRenderCombo' 
       } 

のような選択にリスナーを入れています私はすべての機能を定義したファイルと呼ばれるsetupController.js:すべての国を選択したアクションに今

onCountrySelect: function(a){ 
     console.log("selected ",a.value); 
     var controller = this, 
     userData = controller.getUserData(); 
     console.log("user.id",userData.id);   
    }, 

は、私は、ユーザーが使用する国の「設定」するために、サーバーにJSONを送信しました。この呼び出しは、開発者がプロ​​ダクションとは異なる環境にも依存するので、何らかのプロキシを作成する必要があると思いますが、これは後の問題です。これを呼び出すように設定したいと思います私がしなければならないすべての将来の呼び出しにこのロジックを使用します。

質問は、それを定義する適切な方法はありますか?モデルが必要ですか?店内で電話してもいいですか? ...私はいくつかの他の場所で非常に同じ呼び出しを使用することができます...プロキシ(?)または店や何か "外部"が必要ですか?これの例がありますか?

おかげさまで、ありがとうございました。

+0

あなたのサーバーは常にjson投稿を取得していますか? –

+0

それは依存していますが、今のところはyesと仮定できます。これはRESTサーバーなので、POST、PUT、DELETEなどの多くのメソッドを持っています。この例は単純なものです。 、結果は返されません(もちろん空のjsonが返されます)が、これは非常に単純な例で十分です...今のところ:D –

+0

あなたのサーバーは同じドメインにありますか? –

答えて

0

ここhttp://docs.sencha.com/extjs/6.0.2/classic/Ext.data.proxy.Ajax.html

書かれたと同じようにプロキシが同じドメイン上のサーバーで動作するように構成されています

AjaxProxyは、他のドメインからデータを取得するために使用することはできません。アプリケーションがhttp://domainA.comで実行されている場合、ブラウザにはAJAX経由でドメイン間の通信を禁止するセキュリティポリシーが組み込まれているため、http://domainB.comのデータを読み込むことはできません。個人的に私はAJAXを行うために、AJAXプロキシーによって拡張個人の代理、で働いている私はそのhttp://docs.sencha.com/extjs/6.0.2/modern/Ext.Ajax.html#method-request

Ext.Ajax.request({ 
     url:'', 
     method:'POST', 
     params:{ 
      json:YOURJSON 
     }, 
     success:function(response){ 

     }, 
     failure:function(response){ 

     } 
    }); 

のようなAJAX要求を使用して、複数のサーバーとの接続コンソールを持つ

異なるドメインの問題なしで呼び出します。家庭用プロキシを作成する場合は、ここでプロキシに関するすべての情報を読むことができます。http://docs.sencha.com/extjs/6.0.2/classic/Ext.data.proxy.Proxy.html

または単純にajaxリクエストを行う外部JSクラスを使用できます。

関連する問題