난 당신이 요청 옵션과 onException
콜백 핸들러 포함 할 수 있다고 생각 :
new Ajax.Request('?service=example', {
parameters : {tags : 'exceptions'},
onSuccess : this.dataReceived.bind(this),
onException : function(request, ex) { // react somehow }
});
글로벌 수준에 그것을하기를, 콜백 핸들러는 Ajax.Responders
object에 등록 할 수 있습니다
Ajax.Responders.register({
onException: function(request, ex) {
// react somehow
}
});
첫 번째 인수는 콜백을 트리거 한 Ajax.Request
개체입니다.
P.S./FYI : 귀하의 예외가 Prototype source에서이 코드에 의해 은폐되고 :
dispatchException: function(exception) {
(this.options.onException || Prototype.emptyFunction)(this, exception);
Ajax.Responders.dispatch('onException', this, exception);
}
다음
제대로 onException 콜백을 구현하는 방법은 다음과 같습니다.
Ajax.Responders.register({
onException: function(request, exception) {
(function() { throw exception; }).defer();
}
});
여기에 기록으로 : https://stackoverflow.com/a/2606239/147349
은 내가 onException 매개 변수 알고 있지만, Ajax.Responders.register 기능은 나에게 새로운이었다. 나는 모든 오류는 내 요구에 응답 할이 코드를 디버깅하는 동안 브라우저에 유출 할 경우 Ajax.Responders.register ({ onException : 기능 (요청, 예) { (디버그) {던져 전 경우;} } }}); 그런 다음 브라우저로 던진 Ajax 객체에서 호출 된 코드 내에서 모든 오류가 발생하도록하려면 디버그 플래그를 true로 설정해야합니다. 고맙습니다! –
도와 드리겠습니다. 이 답이 문제를 해결하면 "수락"으로 표시 할 수 있습니다. :) – Tomalak
죄송합니다. 나, 새로운 여기에, 그래서 나는 루틴을 몰랐다 :) –