Új hozzászólás Aktív témák

  • Male

    nagyúr

    válasz TonTomika #1090 üzenetére

    Macerásabb, mint egy kész, de ebből tanulsz legalább... részben én is ezért csináltam magamnak. (én abban a verzióban onclick-ekkel írtam be, hogy másolja az értéket, és zárja be a listát, nomeg ugorjon a következő mezőre.... viszont akkor még nem használtam jQuery-t, nomeg itt erre ugrani szoktak, hogy nem szép megoldás, ugyhogy ezt csak halkan írtam ide :DDD )

    Kérdés mindenkinek :)

    Ha viszont már úgyis írok ide.... Ti hogyan oldanátok meg, hogy az egyik weboldalról a másikra juttassatok át adatokat? Mindkét tárhelyhez, adatbázishoz van hozzáférésem, mindkettőre én írhatom a kódot. Azonban később is működnie kell ennek az áttöltésnek, amikor már csak az adatokat szolgáltató (A) szerverhez lesz hozzáférésem. Nyilvános adatokról van szó egyébként, tehát a küldő oldalon (A) nem kell semmi jogosultság ellenőrzés, a fogadó oldalon (B) pedig csak az admin felületről lehet lekérni-áttölteni, tehát ott meg a saját védelmük dolgozik.

    Elsőre úgy oldottam meg, hogy a "B" oldalon lévő admin felületen JSONP-vel lekérem az adatokat "A"-tól, ellenőrzöm, hogy jó-e. Ha igen, akkor sima $.post-tal elküldöm ("B"-nek, tehát domainen belül)... ez így elvileg sima ügy.
    A gond, hogy localon ez tökéletesen működik is, akkor is, ha az "A" oldal már a neten lévő valós... viszont ha mindkettő a valós helyén fut, akkor nem megy.

    Ami még fontos lehet, JSONP-vel két érték érkezik. Az egyik egy hibakód, ezzel ellenőrzöm, hogy jó-e ami megérkezett, vagy történt valami hiba. A másik pedig maga az eredmény, ami tömörítve jön (egy pár tíz KB-os tömb, jsonencode, majd sima gzcompress, majd egy utf8encode után). A $.post-nál már csak az eredményt küldöm el (és hogy mit kezdjen vele).

    Tesztelgettem, próbálgattam. Ha kiíratom az eredmeny-t, miután megjött "A"-tól, de még a $.post előtt, akkor látszólag oké. Viszont a $.post ahová küldi PHP-t, ott meg mintha nem érkezne meg... isset($_POST['eredmeny'])-t nézek, és false-ot ad (a mit kezdjen vele viszont megérkezik rendben).
    Ha a tömörített cucc helyett csak egy C betűt küldök vissza eredményként, az szépen végig is megy, megérkezik a végső céljához...

    Mi a fene lehet a gond? Egyszerűen nem értem, mert "A"-tól biztos rendben van ami érkezik, hiszen "B"-t localon futtatva, de a valós "A"-tól kérve az adatokat minden rendben működik. A JS kódot ugyan az a gép-böngésző futtatja mindkét esetben, így ezt is kizárnám... a "B" oldalon meg hát... olyan nincs, hogy egy sima isset() localon jól működik, a szerveren meg nem... mert ha kb ennyit hagyok a kódban, akkor is azt mondja, hogy nem kapta meg.
    A szerveren lehet valami korlátozás arra nézve, hogy mit lehet post-olni neki, és ha ettől eltérek, akkor eldobja, vagy mi a fene?

    (Jah, hibaüzenet természetesen sehol sincs, szimplán nem érkezik meg a post-olt tartalom)

    [ Szerkesztve ]

Új hozzászólás Aktív témák