Как jsf.ajax.addOnError
действительно ловят ошибки? Я не нашел информации о механизме. Я только обнаружил, что это прослушиватель ошибок.Обработка ошибок ajax с помощью jsf.ajax.addOnError
ответ
Везде, где вы нашли заявление, что jsf.ajax.addOnError
является ошибкой слушателем, этот источник является неправильным. Функция addOnError
добавляет прослушиватель ошибок (то есть функцию, которую вы определяете самостоятельно и которая вызывается всякий раз, когда в системе JSF возникает ошибка).
Это прямо из JSF-2.2 spec, 13.3.6.2:
Функция jsf.ajax.addOnError принимает аргумент функции JavaScript, который будет уведомление при возникновении ошибок во время любого цикла запроса/ответа Ajax. [P1-старт-событие] Реализация должна обеспечивать функцию JavaScript, который зарегистрирован должен быть назван в соответствии с ошибками, изложенными в разделе ТАБЛИЦА 14-5 «Ошибки». [P1-конец]
Таким образом, таблица «errors» определяет, в каких условиях ваша функция будет вызвана. Вот они:
- httpError: статус запроса == NULL или request.status == неопределенными или request.status < 200 или request.status> = 300
- serverError: Ответ Ajax содержит элемент "error".
- malformedXML: Ответ Ajax не соответствует надлежащему формату.
- emptyResponse: От сервера не было ответа Ajax.
Реализации JSF в основном запускают запрос Ajax и определяют внутренние обработчики, которые вызываются браузером при поступлении ответа. Затем они должны проверять ответ, и если один из вышеуказанных условий соблюден, они ищут, если вы зарегистрировали любые функции, которые должны быть вызваны, и выполняйте их в случае необходимости (они делают намного больше, но это часть, о которой идет речь здесь).
Основываясь на предыдущем вопросе OP (http://stackoverflow.com/questions/21936401/handling-ajax-errors), я считаю, что он уже все это знает. – BalusC
@BalusC Ну, это оставляет бит «добавляет ошибку», то есть указывая на ошибочную предпосылку вопроса. Здесь нет волшебства (на этот раз!) – mabi
Да, вы ответили правильно. Но я считаю, что это не помогает ему решить свою * актуальную * проблему/требование. Я верю, что он просто задал неправильный вопрос. – BalusC
- 1. Rails/Ajax/Обработка ошибок
- 2. Обработка ошибок Ajax, ie7
- 3. jQuery Обработка ошибок AJAX
- 4. Обработка ошибок AJAX
- 5. обработка ошибок с страницы действия AJAX
- 6. $ .ajax обработка ошибок в chrome
- 7. jQuery Ajax и обработка ошибок
- 8. Обработка ошибок с помощью Promise.all
- 9. Обработка ошибок с помощью PHPMailer
- 10. Обработка ошибок с помощью inputdlg
- 11. Обработка ошибок с помощью WinJS
- 12. Обработка ошибок с помощью RESTAdapter
- 13. Обработка ошибок с помощью RESTSerializer
- 14. Обработка ошибок с помощью Fabric
- 15. Обработка ошибок с помощью ADSI
- 16. Обработка ошибок с помощью UIAlertController
- 17. Обработка ошибок с помощью Lapply
- 18. Обработка ошибок с помощью RSYNC
- 19. Обработка ошибок с помощью MonadPlus
- 20. Обработка ошибок с помощью делегатов
- 21. Обработка ошибок с помощью C++
- 22. обработка ошибок для AJAX div
- 23. Обработка ошибок AJAX в React.componentDidMount
- 24. ASP.NET MVC Ajax Обработка ошибок
- 25. Обработка ошибок для загрузки файла ajax с помощью CodeIgniter
- 26. Обработка ошибок с помощью JQuery Когда
- 27. Обработка ошибок jQuery AJAX с кодом состояния
- 28. Обработка ошибок jQuery AJAX обещает с Q
- 29. обработка ошибок с .post()
- 30. Обработка ajax с помощью React
Зачем ошибкам принимать ошибки? Что именно это, проблема, которую вы пытаетесь решить, или функциональное требование, которое вы пытаетесь реализовать? Это может дать лучшие ответы, чем задавать риторический вопрос. – BalusC