目立たない ajax を使用している特定のフォームの ajax コールバックにフックしたいと思います。ajax 呼び出しは、目立たない ajax を使用するこの標準形式では問題ありません。
<form action="/xyz" data-ajax="true" data-ajax-method="POST" id="someformid" method="post">
<input type="text" name="bla" />
<button>submit</button>
</form>
私の最初のアプローチはこれでした:
var form = $("#someformid");
$(document).ajaxComplete(function (e, request, options) {
// is not hitting here
});
しかし、それはうまくいかないようです。このアプローチはハンドラーにヒットしますが、目的のフォームだけではありません。ただし、すべての ajaxComplete イベントに対して。
var form = $("#someformid");
form.submit(function (eevent) {
$(document).ajaxComplete(function (e, request, options) {
// this hits ok. but not just for this form
});
});
次のオプションは、「data-ajax-success」を使用することです。しかし、それはフォームコンテキストを提供していないようです。
質問: ajaxComplete イベントを 1 つのフォームだけに排他的に接続するにはどうすればよいですか。
注: URL を一致させたり、一意の ID をクエリに追加したりするなどの回避策は避けたいと思います。
ありがとう!