2

システム上にユーザーを作成するためにサーバーに POST される User モデルがあります。応答は基本的に次のとおりです。

{
    success: false,
    message: "User already exists"
}

私のモデルには REST プロキシがあります。プロキシには、次のような JSONReader がアタッチされています。

messageProperty: 'message',
successProperty: 'success'

だから私は自分のユーザーを作成し、次のようなもので保存します:

var user = Ext.create('App.model.User', {name: "Bill"});
user.save(function (records, operation) {
    console.log(records); 
    console.log(operation);
});

しかし、サーバーから返されたエラー メッセージを取得する場所がどこにもありません。私がつかむことができるのは、isSuccessful() だけです。これは正しく false と言っているようです。これに関するドキュメントには何もないようです。なぜこのようなものが含まれていないのか、どうして欠けているのか理解できません。

operation.getResponse(); null も返します。また、成功、失敗、およびコールバックを含む構成を渡そうとしました...私には何もないようです

ありがとう、ドム

4

3 に答える 3

1

operation.getResultSet().getMessage() を試してください。試したことはありませんが、ソースコードを見ると、これでうまくいくようです。

于 2012-07-11T23:59:21.383 に答える
0
var user = Ext.create('App.model.User', {name: "Bill"});
user.save({
            success : function(){
                console.log('success', arguments);
            },
            failure : function(model, operation){
                var reader = model.getProxy().getReader(),
                    message = reader.getMessage(reader.rawData)
                console.log('failure message : ' + message);

            }
        });
于 2012-11-26T06:53:42.863 に答える
0

成功メソッドと失敗メソッドを使用してオブジェクトを渡すことができるようです。ドキュメントhttp://docs.sencha.com/touch/2-0/#!/api/Ext.data.Model-method-saveから

options : プロキシに渡すオブジェクト/関数オプション。Ext.data.Operation の設定オブジェクト。関数を渡すと、これが自動的にコールバック メソッドになります。便宜上、構成オブジェクトには、コールバックに加えて、成功および失敗のメソッドも含まれる場合があります。これらはすべて、Model および Operation を引数として呼び出されます。

したがって、次のことができるはずです。

var user = Ext.create('App.model.User', {name: "Bill"});
user.save({
    success: function(){

    },
    failure: function(){

    }
});

コールバックが何であるかはわかりませんが、通常は次のように調べます。

success:function(a,b,c,d){
    console.log(a,b,c,d);
}

次に、コンソールのデータを見て、それに応じて変数の名前を変更します。

お役に立てれば。

于 2012-07-11T23:52:47.733 に答える