1

私は Javascript に比較的慣れておらず、Ajax と DWR にも慣れていません。これは Ajax/DWR ではなく Javascript の質問だと思いますが、次のようになります。

DWR を使用してリモート Java メソッドを呼び出し、ブラウザーに入力されたデータを検証する Javascript を作成しています。検証が失敗した場合 (Java メソッドがエラー メッセージ (空でない文字列) を返した場合) は、ユーザーにエラー メッセージを表示し、Javascript 処理をこれ以上行いません。検証が成功した場合 (Java メソッドによって空の文字列が返された場合) Iユーザーの入力を処理するために Javascript を続行したい。

私が見つけたのは、検証エラーでエラーメッセージが表示されますが、Javascript 処理は停止せず、検証が成功したかのように続行することです。したがって、私の質問は、検証が失敗したときに Javascript 処理を終了する方法です (以下のコードの「A:」)。

これは Javascript と疑似コードを組み合わせたものですが、私が何をしているかを説明する必要があります。

助けてくれてありがとう、

スティーブ

MyRemoteService.validateData(myData, {
    callback:function(str) { 
        if (str) {
        // A: show an error message
            return;
        }                           
    }
    });


// pseudocode - this is what I want to happen:

if (validation error)
    //    don't do anything else
}

// Data was valid  - continue to do stuff
4

2 に答える 2

3

DWR 呼び出しを同期化すると、問題が解決します。

MyRemoteService.validateData(myData, {
   async: false,
   callback:function(str) { 
        if (str) {
        // A: show an error message
            return;
        }                           
    }
    });
于 2011-04-08T15:01:44.113 に答える
0

私があなたの投稿を理解できる限り、

成功またはエラーメッセージのいずれかである場合にのみ、バックエンドから結果を取得した後にのみ、いくつかのJavaスクリプトコードを実行したい!(私は正しいか、何か不足しています)

その場合は、dwr コールバック関数で JavaScript コードを記述します。そのため、バックエンドから結果が返された後にのみ呼び出されます。

于 2011-04-12T15:40:28.960 に答える