Avaleht
uus teema   vasta Tarkvara »  WWW »  Ajaxi abil sisu tirimine teisest serverist märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Karlsson
Kreisi kasutaja

liitunud: 20.08.2004



Autoriseeritud ID-kaardiga

sõnum 27.12.2011 12:00:04 Ajaxi abil sisu tirimine teisest serverist vasta tsitaadiga

Probleem on lihtne. Kui failid on samas serveris, siis ajaxi abiga saab lehe sisu muuta. Kui leht on teises serveris, siis lehe sisu ei muudeta. Paremini seletada ei oska.
Kõik failid mida kasutatakse asuvad http://varia.net63.net/sp/bs_sidebar/

Näited siin: Mõlemas serveris käivitage demo.htm.

Leht mis töötab http://varia.net63.net/sp/bs_sidebar/
Leht mis ei tööta http://web.zone.ee/bank0/files/sp/

Sooviks teada kuidas seda väikest probleemi lihtsalt lahendada.
Kommentaarid: 90 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 81
tagasi üles
vaata kasutaja infot saada privaatsõnum
Valdars
HV veteran
Valdars

liitunud: 22.02.2003




sõnum 27.12.2011 12:23:12 vasta tsitaadiga

Tõstad kõik failid ühte serverisse ja paned seal tööle? Ei oska öelda, kas viga on selles, aga enamikel brauseritel on turvalisuse kaalutlustel keelatud javascriptil teise serveriga suhtlemine.
Kommentaarid: 47 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 44
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 27.12.2011 12:25:40 vasta tsitaadiga

Ja õpime kasutama dev toole...

Uncaught exception: ReferenceError: Security violation
Error thrown at line 21, column 5 in xmlhttpGet(strURL) in http://varia.net63.net/sp/bs_sidebar/sb_include.js:
    xmlhttp.send();
called from line 29, column 2 in load_sidebar() in http://varia.net63.net/sp/bs_sidebar/sb_include.js:
    xmlhttpGet('http://varia.net63.net/sp/bs_sidebar/sidebar.php');
called from line 33, column 0 in http://varia.net63.net/sp/bs_sidebar/sb_include.js:
    window.onload = load_sidebar();


Suht tavaline XSS'i värk

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."


viimati muutis Redikate 27.12.2011 12:29:36, muudetud 1 kord
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
Karlsson
Kreisi kasutaja

liitunud: 20.08.2004



Autoriseeritud ID-kaardiga

sõnum 27.12.2011 12:26:18 vasta tsitaadiga

Just seda oleks vaja, et saaks teisest serverist kogu sisu lehele lugeda.
Kommentaarid: 90 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 81
tagasi üles
vaata kasutaja infot saada privaatsõnum
mirko27
HV veteran
mirko27

liitunud: 29.06.2002




sõnum 27.12.2011 12:27:06 vasta tsitaadiga

Lihtsaim viis selleks on kasutada http://flxhr.flensed.com/
Kommentaarid: 12 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum
Karlsson
Kreisi kasutaja

liitunud: 20.08.2004



Autoriseeritud ID-kaardiga

sõnum 27.12.2011 12:44:40 vasta tsitaadiga

Tänud vastajatele. Liiga keeruliseks asja ajada ei tahaks, kuid paistab, et niisama ka ei saa.
Redikate, millise dev tooliga need vead kätte said? Firefoxi veebikonsooliga ei õnnestunud mul ühtki viga leida.
Kommentaarid: 90 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 81
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 27.12.2011 13:35:51 vasta tsitaadiga

Üks variant, on leht serverisse lugeda php abil ( file_get_contents ), sealt edasi ajax abil.

Teed lehe
leht.php

<?php
if(isset($_POST['adr'])){
$adr = $_POST['adr'];
}
                              }
$contents = file_get_contents($adr);
echo $contents;
?>


see on su oma serveris ja nüüd teed ajax iga POST päringu sellele lehele, kus adr on siis see leht, kus sul sisu vaja võtta on.
Edit: siin võib tekkida ainult see viga, et ei taha sisu vahetama hakata, pead ehk mingi random muutujaid kaasa panema, kui päringut teed.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andris9
HV vaatleja
andris9

liitunud: 14.06.2011




sõnum 27.12.2011 13:49:08 vasta tsitaadiga

Cross Domain AJAX on võimalik CORS (Cross Origin Resource Sharing) meetoditega, mis töötab kõigis moodsates brauserites ja väikese pusimise abil ka IE8+ (kuid IE6/7 puhul mitte). Selle jaoks peab päringuid teenindav server lisama päringu juurde lisaks HTTP päisesse kirje
Access-Control-Allow-Origin: http://example.ee
kus example.ee on siis see server millelt asuvalt veebilehelt lehelt lubatakse Ajax päringut sooritada (juhul kui panna selleks väärtuseks * siis on lubatud kõik serverid).

Täpsema kirjelduse kuidas sellist päringut teha leiab siit: http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/

Sisuliselt on tegu täiesti tavalise Ajax päringuga, va. et IE8 puhul ei tehta seda mitte XMLHttpRequest objektiga, vaid sarnase (kuid mitte sama) DomainRequest objektiga. Lisaks peab siis vastuvõttev server panema andmetega kaasa selle HTTP päringu kirje
<?php header("Access-Control-Allow-Origin: http://example.ee"); ?>

Miinuseks on see, et päringuga ei panda kaasa küpsiste väärtusi, seega ka mitte sessiooni infot, kõik seotud andmed peavad minema GET või POST parameetritena. Lisaks kasutab IE8 valet content-type väärtust (text/plain, mitte application/x-www-form-urlencoded), seega tuleb tõenäoliselt POST päringu andmed serveri enda pool ära töödelda
<?php parse_str($HTTP_RAW_POST_DATA); ?>
GET puhul on kõik niigi OK.
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Karlsson
Kreisi kasutaja

liitunud: 20.08.2004



Autoriseeritud ID-kaardiga

sõnum 31.12.2011 16:19:36 vasta tsitaadiga

Tänan vastuste eest!
Hetkel lahendasin asja ainult Javascriptiga. Oli natuke mugavam ja nüüd võin kindel olla, et leht töötab suvalises levinud veebilehitsejas.
Kommentaarid: 90 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 81
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Ajaxi abil sisu tirimine teisest serverist
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.