ajaxとの通信を行うためのMicrosoftのコードとライブラリを確認しているのはjquery.unobtusive-ajax.jsであり、そのファイルでは、リクエストを行うための主な機能を書き直しましたが、一部のオプションのみです。しかし、jqueryを使用している場合、なぜそれを変更する必要があるのでしょうか?そしてもちろん、そのコードでは、すべてのグローバルハドラーがオフになっています。
私は少し変更を加えましたが、クールではありませんが機能します。もっと時間が経つにつれて、よりクリーンなソリューションでこれを更新します。
ファイルjquery.unobtusive-ajax.jsを開きます。
関数asyncRequestに移動すると、$。extendオプションで、4つのイベントbeforeSend、complete、success、およびerrorが表示され、そこでグローバルトリガーを発生させることができます。
元のコード:
complete: function () {
loading.hide(duration);
getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments);
},
変更されたコード:
complete: function () {
loading.hide(duration);
getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments);
$(document).trigger('ajaxComplete');
},