|
|
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
Есть 2 приложения: 1е (на Spring + AngularJS) берет ресурсы со второго приложения(сервера). 1е запускаю (пока) на localhost:8080 2е - localhost:9000 Работает только в Safari, на Хроме, ФФ, Опере - ресурсы не подтягиваются. Ошибка: Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://localhost:9000/. (Причина: неудача канала CORS preflight). CorsFilter.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Клиентская часть: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. В какую сторону смотреть (что исправить), чтоб работало не только в Safari? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 18:33 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
AFAIK, на localhost может вообще не заработать. Я просто на локальный IP в host два имени завел. Ну, CorsFilter уж больно простоват. Можно взять томкатовский https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/filters/CorsFilter.html Либо его копипасту https://github.com/eBay/cors-filter/blob/master/src/main/java/org/ebaysf/web/cors/CORSFilter.java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 18:39 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
И ещё с CORS много возни. Я бы подумал над тем как на под-домены перевести по-возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 18:41 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 18:55 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAFAIK, на localhost может вообще не заработать. То есть, если вместо localhost прописать ip (например, в браузере - http://10.0.0.10:8080/, а на клиенте - url : 'http://10.0.0.10:9000',), должно заработать? Попробовал так - все равно получаю: Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://localhost:9000/. (Причина: неудача канала CORS preflight). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 14:41 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
wvetal, тебе же сказали - поддомен. Порт другой - тоже другое приложение и междоменный запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 15:02 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
wvetal, почем поддомен не хочешь? Часто имеют сайт domen.ru и форум - forum.domen.ru. Как пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 15:09 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
wvetalТо есть, если вместо localhost прописать ip (например, в браузере - http://10.0.0.10:8080/, а на клиенте - url : 'http://10.0.0.10:9000',), должно заработать? А почему вы берете во внимание только одну часть ответа? Да, ещё и применяете к ней не корректную логику. Я имею ввиду, что даже когда всё правильно настроено, CORS для localhost может не работать. Это совершенно не значит, что избавившись от localhost вы всё исправите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 15:12 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
wvetal, вообще само условие request.getMethod()!="OPTIONS" вызывает вопросы , лучше уж !"OPTIONS".equals(request.getMethod()) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 17:29 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
Petro123почем поддомен не хочешь? 1 - Хочу разобраться(научиться) как это делать на разных доменах(не поддоменах). 2 - Если будет ситуация, когда одни и те же данные нужно передать разным приложениям на разных доменах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 15:12 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
... а все же, можно без поддомена решить эту проблему? Чтоб с другого домена тянуть данные, и чтоб не возникало "(Причина: неудача канала CORS preflight)" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 16:14 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
wvetal... а все же, можно без поддомена решить эту проблему? Можно. wvetalЧтоб с другого домена тянуть данные, и чтоб не возникало "(Причина: неудача канала CORS preflight)" ? Вот это хотя бы прочитано? https://en.wikipedia.org/wiki/Cross-origin_resource_sharing#Preflight_example Возьми нормальный готовый CorsFilter и используй его вместо своей поделки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 16:20 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
wvetal, я экранировала порт, и заработало https://gyazo.com/85f5cced41b9dc9425625b90e9970e42 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 17:24 |
|
||
|
Получение данных с удаленного ресурса.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВозьми нормальный готовый CorsFilter и используй его вместо своей поделки.Blazkowicz https://github.com/eBay/cors-filter/blob/master/src/main/java/org/ebaysf/web/cors/CORSFilter.java Спасибо. Все заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39096695&tid=2124663]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 507ms |

| 0 / 0 |
