Недавно у меня возникла проблема с запросом CORS (Cross Origin Resource Sharing) в Safari, как OSX, так и iOS, в то время как тот же запрос отлично работает в Chrome и Firefox. Я следую документации W3C и обрабатываю предполетный запрос на стороне сервера, мой ответ такой:
HTTP/1.0 200 OK
Access-Control-Allow-Origin: http://192.168.1.96:4399
Access-Control-Allow-Methods: POST
Access-Control-Allow-Methods: GET
Access-Control-Allow-Methods: OPTIONS
Access-Control-Allow-Headers: Origin
Access-Control-Allow-Headers: Authorization
Access-Control-Allow-Headers: X-Requested-With
Access-Control-Allow-Headers: Accept
Access-Control-Allow-Headers: Access-Control-Request-Method
Access-Control-Allow-Headers: Access-Control-Request-Headers
Access-Control-Allow-Headers: DNT
Access-Control-Allow-Headers: X-CustomHeader
Access-Control-Allow-Headers: Content-Type
Access-Control-Max-Age: 0
Date: Fri, 25 Nov 2016 08:45:25 GMT
Origin: http://192.168.1.96:4399
Access-Control-Expose-Headers: Origin
Content-Encoding: gzip
Transfer-Encoding: chunked
Такой ответ отлично работает в Chrome, Firefox и браузере Android: запрос POST отправляется сразу после запроса предварительной проверки. Но в Safari после того, как сервер ответил на запрос reflight, я получил такое сообщение об ошибке с консоли:
Failed to load resource: The network connection was lost.
Я проверяю предполетный ответ с сервера, но нахожу его таким же, как указано выше ... После стольких поисков и попыток я все еще не могу заставить его работать :-(
Кто-нибудь сталкивался с этой проблемой раньше ? Может кто-нибудь выяснить, какую ошибку я сделал?
Заранее большое спасибо!