0

データベースを更新するように構成されたプロキシを備えたストアがあります。

proxy: { type: "ajax", api: { create: MySite.app.BaseURL + 'Member.php?action=create', read: MySite.app.BaseURL + 'Member.php', update: MySite.app. BaseURL + 'Member.php?action=update', destroy: MySite.app.BaseURL + 'Member.php?action=delete' },

これはすべて正常に機能しますが、私が本当に望んでいるのは、応答を読み取って、更新の成功または失敗をユーザーに報告できるようにすることです。

たとえば、更新が成功すると、以下の json がレスポンスで返されます。

{"成功":true,"メッセージ":"更新"}

成功しなかった場合は、以下が返されます。

{"success":false,"message":"何かひどいことが起こった"}

以下のようにリスナーをストアに追加しようとしましたが、これは応答を拾っていないようです。

    listeners: {

        success: function(response) {

                console.log(response);

                var data = Ext.JSON.decode(response.responseText.trim());

                console.log(data);  

                if(data.success == 'true') {
                console.log('success'); 
                }
        }
    },

誰でも助けてもらえますか?

4

2 に答える 2

0

ストアは成功イベントを発生させません。これは、成功、失敗、またはコールバック関数を使用して各操作で構成する必要があります。

たとえば、同期を実行する場合、次のようなことができます。

myStore.sync({
    success: function(batch, options) {
       console.log(response);
    }
});

与えられたストアは bacth で動作し、バッチ フィールドを確認して、問題がないかどうかを確認する必要があります。

于 2012-12-19T19:56:23.873 に答える
0

成功すると、ストアは「書き込み」イベントを発生させます。エラーが発生した場合、プロキシは「例外」イベントを発生させます。この「例外」イベントはその親 (ストア) にバブルアップする必要があるため、ストア内のリスナーは「書き込み」および「例外」用である必要があります。これらのイベントのパラメーターを検索できます。「書き込み」イベントの場合、パラメーターはストア自体と操作である必要があります。操作には、ロギングまたは必要なものを実行するために必要なすべての情報が含まれている必要があります。

于 2013-01-05T03:20:22.367 に答える