3

jQueryを使用してAJAX機能を既存のフォームに接続し、エラー処理コールバックを可能にする最良の方法は何ですか。

jQuery.ajax(...)組み込み関数には、次の (便利な) コールバック関数があります。

送信前

完了

データフィルター

エラー

成功

jQuery.Formプラグインで答えを見つけたと思っていましたが、何らかの理由でエラーコールバックにアクセスできません!! この省略以外は、非常に便利なようです。

jQuery.get推奨する前に使用を推奨する記事の量に、私は一般的に本当にがっかりしていjQuery.ajaxます。要約get()すると、エラー コールバックはありませんが、ありますajax()

私の意見では、常に何らかのエラー処理ロジックが必要なため、常に使用する必要があります。ajax()

他に便利なプラグインはありますか? 特に ASP.NET-MVC とうまく連携して、すべてを簡単に接続できるプラグインを使用する必要がありますか?

4

6 に答える 6

6

これは、私のプロジェクトからコピーした非常に単純なスニペットで、少しハッキングしただけです (ほとんどテストしていません)。これがうまくいくかどうか教えてください。

(function() {
$.fn.ajaxify = function(options) {
    $(this).submit(function(e) {
        var form = $(this);
        $.ajax({
            type : form.attr('method'),
            url : form.attr('action'),
            data : form.serialize(),
            error : options.error,
            success : options.success,
            dataType : "script"
        });

        return false;
    });
}
})();

それを使用して:

$('form').ajaxify(
    {success: success_method_name, 
    error: error_method_name});
于 2009-03-11T05:21:18.037 に答える
3

このページによると:

http://www.malsup.com/jquery/form/#api

「オプション オブジェクトを使用して、値を jQuery の $.ajax メソッドに渡すこともできることに注意してください。$.ajax でサポートされているオプションに精通している場合は、ajaxForm および ajaxSubmit に渡されるオプション オブジェクトでそれらを使用できます。」

これには「エラー」ハンドラ パラメータが含まれていますが、動作させることができません...

リッチ

于 2009-04-10T18:32:26.977 に答える
1

これはもう問題ではないかもしれません。エラー コールバックを問題なく接続したからです。

例えば:

$("form#new_asset").ajaxForm({
  error: function(a, b, c) {
    alert('error')
  }
});
于 2009-12-30T12:01:46.460 に答える
0

$.ajaxError()経由でハンドラーを設定しようとしましたか?

于 2009-03-11T05:24:08.513 に答える
0

テストしたところ、クリス・オサリバンは確かに正しいですが、現時点では文書化されていないと思います。

于 2010-06-04T16:25:29.023 に答える
-2

JSON を使用しないのはなぜですか? フォームからデータを収集し、JSON リクエストを送信できます。

于 2009-03-11T05:14:59.797 に答える