2016-10-31 13 views
5

Safari (10 - El Capitan OSX) Problem z CORS

robię żądanie CORS post od angularjs front-end do laravel back-end.Cors OPCJE Prośba udane, ale zawiesza się w Safari

  • W Chrome i Firefox, obie opcje i POST żądania powrotu stanu HTTP 200 OK
  • W Safari 10 (OSX), obie opcje i POST żądania powrotu stanu HTTP 200 OK ale wniosek OPCJE utrzymuje załadunek (stan HTTP 200 OK!)

Żądanie Główki

Accept:*/* 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4 
Access-Control-Request-Headers:content-type 
Access-Control-Request-Method:POST 
Cache-Control:no-cache 
Connection:keep-alive 
Host:x.local 
Origin:http://y.local 
Pragma:no-cache 
Referer:http://y.local/ 

nagłówki odpowiedzi

Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept 
Access-Control-Allow-Methods:POST, GET, OPTIONS, PUT 
Access-Control-Allow-Origin:* 
Cache-Control:no-cache 
Connection:keep-alive 
Content-Length:16 
Content-Type:application/json 
Date:Mon, 31 Oct 2016 09:22:51 GMT 
Server:nginx/1.11.1 

Safari zawiesza się, gdy otrzymam stan http 200 OK (żądanie OPTIONS). Co powinienem zrobić?

+2

Brzmi podobnie do http://stackoverflow.com/questions/38789251/xhr-request-hangs-in-safari-on-el-capitan (brak odpowiedzi) –

+2

To również wygląda podobnie https://groups.google. com/forum/#! topic/angle/3hP4JpTHLYY –

+0

@ GünterZöchbauer Dzięki, ale nie działa dla mnie zarówno HTTP, jak i HTTPS. – schellingerht

Odpowiedz

1

Spróbuj wrócić 204 Brak treści, która zadziałała dla mnie. Znajduje się w niektórych przykładach bez dalszych wyjaśnień.

1

Upewnij się, że nagłówek Accept został dodany do opcji CORS AllowedHeaders. To rozwiązało to dla mnie.

Twoje zgłoszenie ma nagłówek Accept z numerem /, ale twoje opcje CORS w ogóle go nie obsługują. Nowoczesne przeglądarki, takie jak Chrome, mogą działać bez nagłówków, ale Safari nie pozostał na czasie.

Powiązane problemy