Chodzi o to, że mam poddomeny, która jest punktem końcowym interfejsu API do przesyłania plików. Ale gdy próbuję przesłać coś z jQuery do tej subdomenie (z głównej domeny www) Dostaję błądPrzesyłanie pliku AJAX między domenami
XMLHttpRequest nie może załadować http://1.storage.site.net/upload. Pochodzenie http://www.site.net jest niedozwolone przez Access-Control-Allow-Origin.
Próbowałem wszystkiego: nagłówki w nginx, nagłówków w kodzie źródłowym, próbowałem nawet wysyłając plik skrótową plik z tylko
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Content-type: application/json');
header('Access-Control-Allow-Headers: *');
echo json_encode(['lulz' => 123]);
W dwóch słowach: nic nie działa.
ALE. Zauważyłem, że małe pliki (~ 1MB) ładują się poprawnie, a pliki są nieco większe (powiedzmy 5 MB) - NIE (pochodzenie nie jest dozwolone).
Czy istnieje sposób na rozwiązanie tego problemu?
To dziwne, że małe pliki działają. Oczekuję, że nic nie zadziała, ponieważ jest to naruszenie zasady [tego samego pochodzenia] (http://en.wikipedia.org/wiki/Same_origin_policy). –
@Mike dlatego wysyła nagłówki 'Access-Control- * '. Mówią przeglądarce: "Wiem, że to naruszenie zasad, ale jest fajnie, człowieku". http://en.wikipedia.org/wiki/Same_origin_policy#Cross-Origin_Resource_Sharing –