ugrás a tartalomhoz

http_request alternatíva

grimus · 2007. Feb. 6. (K), 20.42
Üdv!

A http_request -ugye- nem működik, ha más domainen lévő fájlból kell olvasni.
Hogyan lehet ezt csak JS-tel megoldani? A másik domainen lévő fájl xml-t ad vissza, ezt kéne feldolgozni.
 
1

Szerver proxizzon

siposa · 2007. Feb. 6. (K), 20.45
Csak JS-sel szerintem sehogy.

Szerveroldalon írsz egy belépési pontot, ami áttölti a távoli gép adatait. Így domain-en belül maradsz.
3

részletesebben

grimus · 2007. Feb. 6. (K), 21.31
Megkérhetnélek, hogy ezt fejtsd ki bővebben!
Szóval a http_request marad? Ha belépési pont a szerver oldalon van, akkor az is távoli domain, nem?
Tehát úgy néz ki, hogy van akármilyen domain, ami felhasználja ezt a JS fájlt, ami egy adott domainen található php fájlból nyer ki xml adatokat a hívó domain alapján...
5

Szerver oldali HTTPRequest

siposa · 2007. Feb. 6. (K), 23.37
A te szervereden létrejönne egy alkalmazás (PHP, akármi), ami paraméterként kap egy URL-t. A szerver erről az URL-ről lehívja a tartalmat, majd továbbítja feléd. Tehát a saját domainedről fogod megkapni a JS szempontjából.

Nem minden esetben járható út, az biztos.
6

Hogyan?

grimus · 2007. Feb. 7. (Sze), 00.05
Mivel és hogyan hívom meg?
7

HTTPAkármi

siposa · 2007. Feb. 7. (Sze), 00.18
PHP-ben nem tudom a bevett módszert, de pl. a CURL megfelelőnek tűnik. ASP-ben MSXML ActiveX, Java-ban pedig van rá osztály valahol a java.net-ben.

Alapvetően minden épkézláb nyelv kell hogy nyújtson URL-ről töltésre lehetőséget.
8

félreérthető voltam

grimus · 2007. Feb. 7. (Sze), 01.27
3 gép szerepel a képletben:
1. Felhasználó böngészője és gépe
2. Szerver, aki az 1-es gép kérését teljesíti, illetve a JS src-jét beilleszti, és semmi mást nem tesz, tehát nem tartalmazhat php-t, legalábbis a JS include-hoz kapcsolódóan nem!
3. A JS-t tartalmazó szerver, amin lehetnek más állományok is(pl.: xml_generalo.php).

Azt tudom elképzelni, hogy a hármas gépen lévő php-t, ami az xml adatfolyamot generálja JS-sel létrehozott rejtett iframe-be illeszti, amiből már tud olvasni a JS, és ezáltal a 1-es gépen lévő már letöltött oldalt manipulálni.

Kérdés: ha ez így működik is, nincs-e normálisabb megoldás ebben a felállásban.
9

Bukta...

siposa · 2007. Feb. 7. (Sze), 10.33
Ha a 2-es gép nem tartalmazhat szerveroldali komponenst, akkor a javaslatomat nem tudod használni.

Viszont kipróbáltam: ha iframe-be töltöd a 3. gépről az XML-t, akkor sem érheted el a tartalmát: megtagadja a hozzáférést.

Részemről passz.
10

iframe működik

grimus · 2007. Feb. 7. (Sze), 12.38
Az iframebe simán be lehet tölteni az xml-t, csak ne ma legjobb megoldás.
Esetleg java applettel ezt ki lehet váltani? Vagyis az csinálna mindent: az oldal betöltődése után adatot nyerne a távoli php fájlból, majd az oldal DOM szerkezetét megváltoztatná az xml alapján.
11

Igen, deee...

siposa · 2007. Feb. 7. (Sze), 13.16
Betölteni betölti, csak éppen hozzáférni nem enged egy másik domain-hez tartozó oldal vagy frame alól.

Tudtommal a java-appletekre is érvényes az a megszorítás, hogy csak a saját domain-jükről tölthetnek.

Nem tudom pl. a Google Maps hogyan csinálja, mikor saját oldalba építik be...
12

JSON

attlad · 2007. Feb. 7. (Sze), 14.24
Ha a 3. gépen bármi lehet akkor XML helyett a JSON formátumot nézd meg szerintem.
2

Iframe

Ajnasz · 2007. Feb. 6. (K), 21.18
Esetleg megpróbálhatod, hogy egy rejtett iframe-be töltöd be az xml-t.
4

nem túl elegáns

grimus · 2007. Feb. 6. (K), 21.32
Igen, ezen én is gondolkodtam, de nem túl barkács ez?