NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:
Avatar

Člen
Avatar
:26.5.2015 15:00

Ahoj, už do včerejšího večera se snažím nějak zprovoznit CORS. Firefox ale pořád háže error

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at -url-. (Reason: CORS request failed).

Už jsem toho zkoušel až moc, aktuálně mám v PHP scriptu (na začátku samozřejmě)

header("Access-Control-Allow-Origin: http://peopleguild.com");
header("Access-Control-Allow-Credentials: true ");
header("Access-Control-Allow-Methods: OPTIONS, GET, POST");
header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control");
header('Content-type: application/json');

Poradíte někdo? Píšu do webových serverů, páč mi to běží na VPSku a tím pádem mám plnou moc nad konfigurací Apache, takže to můžu nastavit natvrdo. Chci to jen pro jeden soubor, ostatní by měly zůstat.

 
Odpovedať
26.5.2015 15:00
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 15:16

A s wildcard v Allow-Origin to jede?

Hore Odpovedať
26.5.2015 15:16
Neaktivní uživatelský účet
Avatar

Člen
Avatar
 
Hore Odpovedať
26.5.2015 15:32
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 15:34

A dostává prohlížeč ty hlavičky? (dev tools Network)

Hore Odpovedať
26.5.2015 15:34
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 15:35

Ano, dostává

 
Hore Odpovedať
26.5.2015 15:35
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 15:37

Jiné prohlížeče? Chrome a spol. má s tolerancí CORS vážné problémy.

  • zkus wildcard bez credientails
Editované
Hore Odpovedať
26.5.2015 15:37
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 15:38

Tomu wildcard bez credientails rozumím asi jako španělovi. A ten error mi háže Firefox OS appka (mám JS konzoli na kompu ve Firefox Developer Edition).

 
Hore Odpovedať
26.5.2015 15:38
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 15:39

Místo toho všeho tam dej :

header("Access-Control-Allow-Origin: *");

Jen pro test

Editované
Hore Odpovedať
26.5.2015 15:39
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 15:40

To už jsem taky zkoušel :(

 
Hore Odpovedať
26.5.2015 15:40
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 15:43

Jak ti odpovídá server na ten request, zejména hlavičky?

// Aha, jsem vůl :D

Editované
Hore Odpovedať
26.5.2015 15:43
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Neaktivní uživatel:26.5.2015 15:46

Do skriptu :

if ( "OPTIONS" === $_SERVER['REQUEST_METHOD'] ) {
    die();
}
Hore Odpovedať
26.5.2015 15:46
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 15:52

Pořád ten samý error.

 
Hore Odpovedať
26.5.2015 15:52
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 15:53

Jak odesíláš data? (pošli tu část kódu co dělá ten request)

Hore Odpovedať
26.5.2015 15:53
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 16:02
var blockclient = new XMLHttpRequest();
    blockclient.open('GET', '-url-');
    blockclient.onreadystatechange = function() {
        if (blockclient.readyState == 4) {
            alert(blockclient.responseText);
        }
    }
    blockclient.send();
 
Hore Odpovedať
26.5.2015 16:02
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 16:03
blockclient.setRequestHeader("Content-type","application/json");
Akceptované riešenie
+20 Skúseností
+2,50 kreditov
Riešenie problému
Hore Odpovedať
26.5.2015 16:03
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 16:11

A kam konkrétně? Teď to ten error háže dvakrát (mám to nad onreadystatechange)

 
Hore Odpovedať
26.5.2015 16:11
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 16:14

Zkus to před send

Hore Odpovedať
26.5.2015 16:14
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 16:20

Failed :(

 
Hore Odpovedať
26.5.2015 16:20
Avatar

Člen
Avatar
:26.5.2015 19:10

Nějak záhadně jsem pokročil, teď už to neháže CORS chybu ale

An attempt was made to use an object that is not, or is no longer, usable
 
Hore Odpovedať
26.5.2015 19:10
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 19:11

Špatná cesta k souboru

Hore Odpovedať
26.5.2015 19:11
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 19:16

Když si tu URL, kterou to volá (přidává se do ní ještě pár parametrů) nechám vypsat do konzole, normálně ji můžu načíst...

 
Hore Odpovedať
26.5.2015 19:16
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 19:20

Experimentoval jsi až moc, před open to nemůže být.

Editované
Hore Odpovedať
26.5.2015 19:20
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 19:23

Jak to sakra víš? :D

 
Hore Odpovedať
26.5.2015 19:23
Avatar
Odpovedá na
Neaktivní uživatel:26.5.2015 19:26

Vím, tato chyba má jen dva případy - Špatná URL a metody na XHR před open. Takto se ta chyba strašně blbě detekuje, jen přes diskuzi.

Hore Odpovedať
26.5.2015 19:26
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovedá na Neaktivní uživatel
:26.5.2015 19:29

Tak co by sis představoval? Můžu ti dát přístup na server... Ale to asi spíš přes Skype, než v diskusi...

 
Hore Odpovedať
26.5.2015 19:29
Avatar

Člen
Avatar
Odpovedá na
:26.5.2015 20:00

Ještě kdyby mohl někdo jiný pomoct, už jsem se dopracoval k tomu, že to háže jen chybu v jedné hlavičce :) (teď používám .htaccess a zázračně to funguje)

Reason: CORS header 'Access-Control-Allow-Origin' does not match '*, *'
 
Hore Odpovedať
26.5.2015 20:00
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 26 správy z 26.