Здравствуйте.
Возникла проблема. Есть форма, которая валидируется при помощи html5 api, в частности - checkValidity. Соответственно, на сервер шлется post-запрос, и нужно получить callback, чтобы, в зависимости от результата запроса, решить, отправлять форму, или нет. Проблема заключается в том, что запрос checkValidity не поддается перехвату вообще!
Есть такой код, который работает со всеми post-запросами, кроме того, который нужен.
var XMLHttpListener = new Object();
XMLHttpListener.tempOpen = XMLHttpRequest.prototype.open;
XMLHttpListener.tempSend = XMLHttpRequest.prototype.send;
XMLHttpListener.callback = function () {
	// кэллбэк
}
XMLHttpRequest.prototype.open = function(a,b) {
  if(!a) var a='';
  if(!b) var b='';
  XMLHttpListener.tempOpen.apply(this, arguments);
  XMLHttpListener.method = a;  
  XMLHttpListener.url = b;
  if(a.toLowerCase() == 'get') {
    XMLHttpListener.data = b.split('?');
    XMLHttpListener.data = XMLHttpListener.data[1];
  }
}
XMLHttpRequest.prototype.send = function(a,b) {
  if(!a) var a='';
  if(!b) var b='';
  XMLHttpListener.tempSend.apply(this, arguments);
  if(XMLHttpListener.method.toLowerCase() == 'post') XMLHttpListener.data = a;
  
  XMLHttpListener.callback();
}
Вопрос: есть ли более универсальный способ перехвата ajax-запросов, позволяющий реализовать вышеописанное? К сожалению, вариант if(checkValidity()) не прокатит, т.к. придется влезать в ядро чужого плагина.