Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Hakeminen toiselta palvelimelta. Ajax?

Sivun loppuun

pistemies [27.04.2011 13:01:36]

#

Minulla on tietoja eri palvelimilla.
Voiko Ajaxilla hakea jollakin tavalla näkymään html-tiedostoon php-tiedoston tiedot js-tiedoston avulla, joka sijaitsee toisella palvelimella?

punppis [27.04.2011 13:49:43]

#

Kyllä voi. Ajaxin avulla selain vain hakee sen sivun ilman turhia uudelleenlatauksia, joten mikä tahansa sivu mihin selaimella pääsee käy.

Jos tarkoitat PHP:n lähdekoodia, niin siinä tapauksessa ei pysty, ellet sitten tuossa php-skriptissä sitä tulosta.

Rohkeasti vaan testailemaan, harvemmin sitä mitään rikki saa.

pistemies [27.04.2011 13:54:37]

#

Tarttis vaan saada yksi pieni php-sivu, joka tulostaa jotain tietoja.
Yksi pikku ongelma on se, että haluan sen saada näkyviin ilman että käyttäjä tekee sivulla jotain. Ja ilman, että js määrittelee div-id:n johon se tulostuu.
Tarkoitus olisi tulostaa se siihen kohtaan, missä sen hakeva js-koodi sivulla sijaitsee.
Tämä nyt ottaa yhteyttä tiedostoon show.js, joka yrittää tulostaa tiedoston file.php muttei onnistu :)

ps. lisäksi syötän js-koodissa joitakin tietoja tuolle show.js tiedostolle, jotta saan siihen sivulleni sopivat värit.

The Alchemist [27.04.2011 18:35:03]

#

Älä turhaan roskaa merkkausta. Et saavuta mitään etua sillä, että kirjoitat JavaScriptin HTML:n sekaan verrattuna siihen, että laitat sen siististi omaan tiedostoonsa ja oikeaoppisesti sisällytät sen HTML:ään script-tagilla.

Kieliopista vielä sen verran, ettet voi saada JavaScriptillä laitettua tavaraa HTML-tiedostoon, mutta nettisivulle voit.

pistemies [27.04.2011 18:58:28]

#

Jooh... oikea....oppisesti...
Kyllä tuo show.js on script tagilla noudettu.... mutta en hoksaa millainen ton shown sisältö pitäisi olla jotta toimisi.
Siinä on nyt js-funktio, tyypillinen ajaxille, joka noutaa get-muuttujin tietoa palvelimelta file.php tiedostosta.
Tosin en tiedä varmaksi onko se toimiva. Päivän paras lause?

Ps. (taas) Ajax siis lähettää pyynnön... olisi tarkoitus vaan onnistua siinä, että pyyntö lähetetään kun js tunnistaa että joku on tullut sivulle. Siis ilman mitään onclick juttuja pitäisi se saaha toimiin..

-tossu- [27.04.2011 19:32:41]

#

Pekka Mansikka kirjoitti:

Voiko Ajaxilla hakea jollakin tavalla näkymään html-tiedostoon php-tiedoston tiedot js-tiedoston avulla, joka sijaitsee toisella palvelimella?

Tuskin mikään selain antaa tehdä Ajax-pyyntöä toiselle domainille ainakaan ellei käyttäjä sitä erikseen salli.

punppis [27.04.2011 19:36:43]

#

-tossu- kirjoitti:

Pekka Mansikka kirjoitti:

Voiko Ajaxilla hakea jollakin tavalla näkymään html-tiedostoon php-tiedoston tiedot js-tiedoston avulla, joka sijaitsee toisella palvelimella?

Tuskin mikään selain antaa tehdä Ajax-pyyntöä toiselle domainille ainakaan ellei käyttäjä sitä erikseen salli.

Miksei antaisi? Yhtä lailla voit käyttää kuvia (img-tagilla) toisilta palvelimilta.

-tossu- [27.04.2011 19:43:26]

#

punppis kirjoitti:

Miksei antaisi? Yhtä lailla voit käyttää kuvia (img-tagilla) toisilta palvelimilta.

Koska Ajax-pyyntö toiselle domainille on melkoinen tietoturvariski. Mieti jos mikä tahansa nettisivu jolla käyt, voisi lähettää koneeltasi sivupyyntöjä esim. ohjelmointiputka.net:iin. Sivu voisi silloin vaikkapa kirjoitella viestejä nimissäsi tai tehdä jotain muuta ikävää.

Lebe80 [27.04.2011 20:03:05]

#

punppis: tee nopea esimerkki, jolla todistat olevasi oikeassa.

edit:
Paljonhan tehdään "ajax-kutsuja" niin, että omalla palvelimella on oma esim. php-skripti, jonka kautta noita "kutsuja" luodaan. Eli php-skripti tuo "sisällön" muualta, jolloin tieto on saatavissa aivain kuin se olisi samalla palvelimella.

Pelkällä javascriptillä tiedon onkimiseen joudumme odottaa niin kauan, että punppis saa esimerkkinsä rakennettua.

pistemies [27.04.2011 21:49:57]

#

Öhöm.
Varsinaisen kutsun sisältävä show.js sijaitsee samalla palvelimella, josta tieto haetaan. Samassa haemistossa kuin php-file.
Ja se tekis homman... eikös google-mainoksetkin toimi jotenkin siten? Ja tradedoubler.

Lebe80 [27.04.2011 22:05:23]

#

nope, eiköhän ne käytä vanhaa ystäväämme iframea, jota myös käytetään paljon.

IFrame luo taas toisenlaiset rajoitukset.

pistemies [28.04.2011 12:38:45]

#

No joo.
Sain asian toimimaan iframella aika tyydyttävästi, ei päälle päin huomaa että siinä on käytetty iframea...

punppis [28.04.2011 12:52:12]

#

Kappas, olinkin väärässä ja ajax ei ilmeisesti annakaan ladata toiselta palvelimelta kamaa. Tämän voi kiertää vaikka siten, että tekee php-skriptin joka hakee kamat toiselta palvelimelta ja sitten ajaxilla hakee tuon php-skriptin tulosteen.

Kai tuonkin voisi jotenkin kiertää mutta on toki tietoturvallisempaa hakea php:n avulla, jolloin käyttäjän selaimen asetukset/cookiet eivät vaikuta.

Lebe80 [28.04.2011 13:02:39]

#

punppis kirjoitti:

Kappas, olinkin väärässä ja ajax ei ilmeisesti annakaan ladata toiselta palvelimelta kamaa. Tämän voi kiertää vaikka siten, että tekee php-skriptin joka hakee kamat toiselta palvelimelta ja sitten ajaxilla hakee tuon php-skriptin tulosteen.

Lebe80 kirjoitti:

Paljonhan tehdään "ajax-kutsuja" niin, että omalla palvelimella on oma esim. php-skripti, jonka kautta noita "kutsuja" luodaan. Eli php-skripti tuo "sisällön" muualta, jolloin tieto on saatavissa aivain kuin se olisi samalla palvelimella.

Kaikuu kaikuu, siltikään en sanoisi, että php-skriptillä "kierrettäisiin" ongelma. Vaan sillä enemmänkin tehdään koko asia vain täysin toisella tavalla. Eli jos käytössä on vain ajax, niin ongelmaa ei voi kiertää.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta