|
|
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Есть сервис на http://localhost:8082 и тестовый сайт HTML+js на http://localhost:80 В скрипте попытка обращения к сервису на этом же хосте, но с другим портом. При попытке соединиться из FF с сервисом дает ошибку Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://localhost:8082/MyRestService/?unique=1439801208281. (Причина: не удалось выполнить запрос CORS). При попытке сделать то же из IE - всё гут. Дальше еще смешнее: вырубил сервис, пустил тестовую страницу - та же ошибка. Куда копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2015, 11:53 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Access-Control-Allow-Origin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2015, 12:28 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
WinnipuhВ скрипте попытка обращения к сервису на этом же хосте, но с другим портом. другой порт считается как не ваше\другое приложение. Лучше не делать междоменные запросы (порт = междомен). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2015, 14:19 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Petro123WinnipuhВ скрипте попытка обращения к сервису на этом же хосте, но с другим портом. другой порт считается как не ваше\другое приложение. Лучше не делать междоменные запросы (порт = междомен). Есть страница сайта http://host , при нажатии на кнопку скрипт коннектится к WCF сервису http://host:8082 и возвращает данные. И как тут не делать? IE работает, FF, Chrome -дают ошибку. Сделал так, как здесь написано - не помогло: https://code.msdn.microsoft.com/windowsdesktop/Implementing-CORS-support-c1f9cd4b ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2015, 15:07 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
в заголовках есть параметр Access-Control-Allow-Origin ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2015, 15:21 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnoguв заголовках есть параметр Access-Control-Allow-Origin ? Я сделал вывод в сервисе, вот что приходит и уходит в ФФ и Хроме Вот какие запросы приходят и уходят в ФФ и в Хром, сделал вывод в WCF в AfterReceived и BeforeReply Firefox -- FF request *httpRequest.Method*:OPTIONS *httpRequest.Headers*:Origin: http://localhost Access-Control-Request-Method: GET Access-Control-Request-Headers: authorization Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Host: localhost:8082 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/ 40.0 — FF Response *CORS* Method == OPTIONS *CORS* Headers are modified *Reply.Headers*: Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true Access-Control-Expose-Headers: DAV, content-length, Allow Access-Control-Allow-Headers: Authorization, svccontext, Origin, Accept, Over write, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-R ange, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Ca che-Control, Location, Lock-Token Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE , GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL Access-Control-Max-Age: 1728000 *--------------------* Chrome -- Chrome request *httpRequest.Method*:OPTIONS *httpRequest.Headers*:Access-Control-Request-Method: GET Origin: http://localhost Access-Control-Request-Headers: accept, authorization Connection: keep-alive Accept: */* Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8,de;q=0.6,ru;q=0.4,uk;q=0.2 Host: localhost:8082 Referer: http://localhost/RestSamples/Samples/login.html User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 -- Chrome response *CORS* Method == OPTIONS *CORS* Headers are modified *Reply.Headers*: Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true Access-Control-Expose-Headers: DAV, content-length, Allow Access-Control-Allow-Headers: Authorization, svccontext, Origin, Accept, Over write, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-R ange, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Ca che-Control, Location, Lock-Token Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE , GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL Access-Control-Max-Age: 1728000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2015, 16:11 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Я использую такой вызов, может в нем проблема? Код: javascript 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2015, 16:38 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Winnipuh, type : verb тут что? какой статус от сервера приходит? Вообще странно, что ишак работает, а православный браузер нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2015, 22:54 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, смотря какая версия ишака, они же сначала свой объект запилили для CORS: XDomainRequest. По теме: в ajaxSettings можно вроде как явно выставит свойство cors в true. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2015, 09:58 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnoguWinnipuh, type : verb тут что? какой статус от сервера приходит? Вообще странно, что ишак работает, а православный браузер нет. verb = GET, так работает нормально, когда тот же домен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2015, 11:46 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Что обнаружил: так вызов в метод сервиса не доходит Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вот так попадает(!) Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Во втором случае приходит сразу запрос GET без предварительного OPTIONS, НО не приходят заголовки, которые я добавил, в частности "Authorization" или мой в другом случае. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2015, 18:41 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
WinnipuhЕсть страница сайта http://host , при нажатии на кнопку скрипт коннектится к WCF сервису http://host:8082 и возвращает данные. И как тут не делать? Net не знаю, но там разве обязателен другой порт? Создание WCF сервиса с поддержкой Ajax http://andrey.moveax.ru/post/wcf-simple-service-with-ajax ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2015, 13:12 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Petro123WinnipuhЕсть страница сайта http://host , при нажатии на кнопку скрипт коннектится к WCF сервису http://host:8082 и возвращает данные. И как тут не делать? Net не знаю, но там разве обязателен другой порт? Создание WCF сервиса с поддержкой Ajax http://andrey.moveax.ru/post/wcf-simple-service-with-ajax ? дело не в обязательности, а в том что так бывает, вот тогда и проблема. То есть сайт на одном хосте, сервис на другом - пипец. Я сейчас дошел до такого состояния: Сделал тестовый сервис, с таким же методом, и из того же js клиента делаю вызов. На тестовом возвращается ответ на OPTIONS и все ок. На реальном тот же скрипт не получает ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2015, 17:25 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Winnipuhдело не в обязательности, а в том что так бывает, вот тогда и проблема. мы же программисты. Почему бывает? Кто писал WCF? Какие есть решения? Почему на поддомен нельзя прицепить? Это же не нобелевская премия и проблема - сделать по человечески. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2015, 17:59 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
вчера на пыхе делал, просто отдавал заголовок Access-Control-Allow-Origin и все отлично работает во всех браузерах (современных конечно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 10:38 |
|
||
|
Javascript+WCF RESTful: CORS ошибка
|
|||
|---|---|---|---|
|
#18+
Petro123Winnipuhдело не в обязательности, а в том что так бывает, вот тогда и проблема. мы же программисты. Почему бывает? Кто писал WCF? Какие есть решения? Почему на поддомен нельзя прицепить? Это же не нобелевская премия и проблема - сделать по человечески. IMHO Есть два инсталлятора, один с сервисом, второй с клиентом, и есть юзер который захочет поставить клиента(-ов) на одном сервере, а сервис на другом. И ничего я ему не смогу сделать, так надо(ц) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 15:07 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=67&tid=1445771]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 350ms |

| 0 / 0 |
