Autor | Zpráva | ||
---|---|---|---|
Miri Profil * |
#1 · Zasláno: 2. 2. 2013, 08:25:03
Ahoj, potřeboval bych poradit co s tím. Děkji.
Mám dvě domény. (jedna.cz a dva.cz) z domény jedna načítam externí JS soubor z domény dva.cz ve kterém je tento script: function spustitOkno(name, id){ $.ajax({ type: "GET", url: "http://dva.cz/okno.php", data: "name="+name+"&id="+id, success: function(data){ $("#nactiOkno").html(data); } }); } Samozřejmě když script volám na doméně dva.cz tak vše funguje, jakmile se chci připojit z cizí domény, script přestane fungovat. Nevíte jak se řeší externí načítání okna a cizího obsahu z externí domény? a jak to na doméně dva.cz detekovat, kdybych si chtěl povolit jen určité domény, ze kterých se může přistupovat? Předem děkuji za odpověd Míra |
||
QAqq Profil * |
#2 · Zasláno: 2. 2. 2013, 08:37:19
Kdyby si chtel povolit jenom jednu domenu tak zjisti jeji IP a nasledne muzes v okno.php kontrolovat $_SERVER["REMOTE_ADDR"] a pokud se nebude schodovat tak spojeni ukoncis.
|
||
Fisir Profil |
#3 · Zasláno: 2. 2. 2013, 08:45:52
Reaguji na Miriho [#1]:
S AJAXem se na cizí doménu nepřipojíš. Budeš muset soubor okno.php přemístit k sobě na stejnou doménu, ze které se volá AJAX.
|
||
Miri Profil * |
#4 · Zasláno: 2. 2. 2013, 09:52:20
No, tak jak to třeba děla facebook, kterému stačí vložit část JS kodu na svoje stránky, kde se pak bezproblému zobrazuje jejich okno?
|
||
Jan Kupka Profil |
#5 · Zasláno: 2. 2. 2013, 20:05:23
Miri:
Vzhledem k same origin policy nemůžeš klasickým AJAXem přistupovat ke zdrojům na jiné doméně. Řešením je: 1) Použít JSONP, případně CORS. 2) Umístit na doménu jedna proxy script (třeba v PHP), který při dotázání stáhne data z domény dva a bude sloužit jako "přístupový bod" pro JS na doméně jedna. |
||
Frozen Profil |
#6 · Zasláno: 2. 2. 2013, 22:59:02
Zkus do scriptu okno.php vložit toto na začátek:
ob_start(); header('Access-Control-Allow-Origin: *'); a toto na konec ob_end_flush(); |
||
_es Profil |
#7 · Zasláno: 4. 2. 2013, 02:13:47
Frozen:
„Zkus do scriptu okno.php vložit toto na začátek:“ Nedostatočná podpora v prehliadačoch: developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS#Browser_compatibility |
||
Časová prodleva: 13 let
|
0