|
|
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Сие не ловится . Люди подсказали, что можно подкрутить сервер, чтобы в этом случае происходил редирект на страницу с HTTP 403. Честно говоря, никогда такими вещами не заморачивался. Как это можно сделать? И как в этом случае различать запросы со страниц (в этом случае пусть 302 с redirect'ом пусть остается) и XHR запросы (для которых и нужно вернуть 403)? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 00:50:01 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Ex_Soft, Какие такие люди сказали? Можно поимённо? Имхо, не ловится. Какой нафиг редирект из-под аякса? Страница-то у Вас уже загружена. Как Вы её из-под сервера перезагрузить желаете? Какие-то фантастические вещи говорите и смущаете неокрепшие умы. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 01:07:17 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Ex_Soft, А что в итоге нужно-то? Делал по ошибке запроса сервиса (AJAX) редирект через location.href. Работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 09:43:28 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
iConst...Делал по ошибке запроса сервиса (AJAX) редирект через location.href. Работает. Ну да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 10:07:45 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
ShSergeКакие такие люди сказали? Можно поимённо? Condor CondorYou'll have to configure your server to redirect to a page with, e.g. a 403 HTTP status. (401 would be more appropriate, but Firefox incorrectly responds to that by showing the basic login dialog). ShSergeИмхо, не ловится Дык кто ж спорит-то? ;) ShSergeКакой нафиг редирект из-под аякса? Страница-то у Вас уже загружена. Как Вы её из-под сервера перезагрузить желаете? Вы не поняли. Смотрите: когда после протухания сессионной куки делается XHR-запрос, то, хоть и HTTP 302 в XHR.status 200 со всеми вытекающими. Насколько я понял, предлагается 302 заменить на 403 и тогда это уже можно будет отловить на клиенте и сделать соответствующие выводы. iConstА что в итоге нужно-то? Все как всегда. ExtJS'ное приложение + юзвера полюбляющие курить/пить кофе/болтать (нужное подчеркнуть) iConstДелал по ошибке запроса сервиса (AJAX) Ключевое слово: по ошибке . А при 302 - ошибки не возникает . Соответственно, ExtJS, ничего не ведая, пытается про'eval'ить XHR.responseText, а там, вместо JSON'а, HTML Login'овской страницы и все, ессесно, падает. iConstредирект через location.href. Работает. Не сомневаюсь. BTW, с ExtJS'овскими store'ми, в Ext.data.HttpProxy в этом случае, таки, ловиться exception и там, как раз, и можно предпринять location.href. А, вот, XHR - втихушку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 10:26:12 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Ex_Soft... Ключевое слово: по ошибке . А при 302 - ошибки не возникает . Соответственно, ExtJS, ничего не ведая, пытается про'eval'ить XHR.responseText, а там, вместо JSON'а, HTML Login'овской страницы и все, ессесно, падает.Ну что на это сказать: Ошибка таки есть - ведь что-то "падает", значит можно это курить. Что запрашивается, страница? Я для аджакса давно применяю сервисы - не хэндлеры, не страницы, а именно сервисы. Про такие проблемы забыл. Решения на вскидку: 1) Вынести "сервис" из "закрытой зоны" - проверять в нем аутентификацию и, либо возвращать данные, либо флаг, по которому редиректим на логон. 2) Периодически, нпр. в 5 мин, дергаем сервис (не гуд, но как посмотреть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 10:46:51 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
iConstОшибка таки есть - ведь что-то "падает", значит можно это курить. Согласен. Но это - ошибка . Именно обычная JS'овская ошибка, возникающая в недрах ext-all.js. Даже не exception. iConstЧто запрашивается, страница? нЭт. Идет просто обмен данными. iConstЯ для аджакса давно применяю сервисы - не хэндлеры, не страницы, а именно сервисы. Про такие проблемы забыл. Это выходит за рамки топика iConst1) Вынести "сервис" из "закрытой зоны" - проверять в нем аутентификацию и, либо возвращать данные, либо флаг, по которому редиректим на логон. Не... Если бы это был один обработчик... А так... Сторожа, которые сторожат сторожей?.. iConst2) Периодически, нпр. в 5 мин, дергаем сервис (не гуд, но как посмотреть). 9955888 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 10:57:14 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Ex_Soft... нЭт. Идет просто обмен данными. ... Не... Если бы это был один обработчик... А так... Сторожа, которые сторожат сторожей?.. ...ИМХО, у Вас с архитектурой того... не того :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 11:17:29 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
iConst...Я для аджакса давно применяю сервисы - не хэндлеры, не страницы, а именно сервисы... Пардон за оффтоп, а можно на эту тему что-то поконкретнее, или тынц какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 11:32:30 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Ну да. Точно. Помню что-то такое уже было. TNX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 12:20:43 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
В общем, в контексте ExtJS'а, ничего умнее не придумал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2010, 18:02:00 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Ex_SoftВ общем, в контексте ExtJS'а, ничего умнее не придумал: Код: sql 1. В контекcте ExtJS... почему 403(Forbidden), а не 401 (Unauthorized)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 12:20:15 |
|
||
|
XmlHttpRequest && HTTP 302
|
|||
|---|---|---|---|
|
#18+
Роман Дынник, 401... нельзя, так как запрос со статусом 401 проходя через конвеер ASP.NET попадает на Security Module и тот заново в таком случае выставляет status = 302. Решил проблему следующим образом: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. При этом, у меня ExtJS UI общается с Restful WCF-сервисами и для них реализован FaultErrorHandler и контракт сообщений об ошибке FaultMessage. В этом случае любой FaultException придет в ожидаемом ExtJS UI виде и для него можно будет использовать общий обработчик requestexception представленный выше. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 13:25:45 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37588819&tid=1360147]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
6ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 393ms |

| 0 / 0 |
