Az Ajax & JQuery programozási nyelvekkel kapcsolatos beszélgetések fóruma.
- 2379 megtekintés
Hozzászólások
Valószínűleg az apache2-öm butáskodik, legalábbis ez a sejtésem abból a hibaüzenetből amit kapok.
Akár firefox-ból, akár IE-ből meghívva az oldalamat amit egy debian-on futó apache2 dolgoz fel és ad vissza a következő hibaüzenetet kapom egy XMLHttpRequest() deklarált objektumpéldány open metódusának meghívásákor:
uncaught exception: Engedély megtagadva a metódus hívásához: XMLHttpRequest.open
A progi ami ezt megpróbálja futtatni a következő (részlet):
function sendpost(http_request) {
if ( http_request ) {
var url = 'http://www.valami_az_interneten.com';
http_request.open('GET', url, false);
http_request.setRequestHeader('Host','valami_az_interneten.com'); http_request.setRequestHeader('User-Agent','Mozilla/5.0 (Windows;U;Windows NT 5.1; hu; rv:1.8.1.14)Gecko/20080404 Firefox/2.0.0.14');
http_request.setRequestHeader('Accept','application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5');
http_request.setRequestHeader('Accept-Language','hu-hu,hu;q=0.8,en-us;q=0.5,en;q=0.3');
http_request.setRequestHeader('Accept-Encoding','gzip,deflate');
http_request.setRequestHeader('Accept-Charset','ISO-8859-2,utf-8;q=0.7,*;q=0.7');
http_request.setRequestHeader('Keep-Alive','300');
http_request.setRequestHeader('Connection','keep-alive');
http_request.send(null);
}
document.write(http_request.responseText);
}
sendpost(init_http_request());
Jah, konzolos javascript-ből szépen működik, ezért gyanakszok vagy a php5-re vagy az apache2-re.
Remélem valaki felismeri ezt a hibát... :)
"A program is never done! by atman"
- A hozzászóláshoz be kell jelentkezni
Böngésző tiltja hogy más domain-re xmlhttprequest-elj. Ahogy írja is a hibaüzenet.
- A hozzászóláshoz be kell jelentkezni
Időközben leesett hogy mekkora baromságot irtam, hisz amikor már a javascript fut akkor az vajmit sem értdekli az apache-ot vagy a php-t hogy mi történik. :D Én ..lye. :)
Nade, az már felettéb érdekes hogy az IE és a firefox is elutasítja e kérésemet. Többek között azért mert nemrég fejlesztettem hasonló dolgot a munkahelyemen és ott nem hajtott el egyik böngésző sem. Pedig ott is mindettőnek irtam ilyen kérést csak POST-al.
Már csak az érdekelne, hogy miként tudom rávenni a böngészőimet a tevékenység elvégzésére?
"A program is never done! by atman"
- A hozzászóláshoz be kell jelentkezni
http://en.wikipedia.org/wiki/Same_origin_policy
mind1, hogy postolsz vagy gettel adod at az adatot.
ha te valami.hu oldalon vagy, akkor onnan nem tudsz ajaxolni a www.valami.hu-ra, se a valami.hu:8080-ra sem.
tehat csak oda kuldhetsz xmlhttp requestet, ami a hivo oldal hostneve.
Tyrael
- A hozzászóláshoz be kell jelentkezni
időközben rájöttem (egy kis google segítségével :) ), hogy XSS-t megelőzendő problémával állok szemben (Cross-Site Scripting). Erre megoldást a következő script részlet adná mozilla alatt (Csak adná, mert teszi...):
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {
alert("Permission UniversalBrowserRead denied.");
}
nekem sajnos ezt -> Permission UniversalBrowserRead denied. adja vissza...
"A program is never done! by atman"
- A hozzászóláshoz be kell jelentkezni
A same origint valoban meg lehet ugy kerulni, hogy tobb jogot igenyelsz. Ilyenkor vagy engedi, vagy visszautasit. Nezd meg az about:config-ban a megfelelo beallitast! (nem emlekszem melyik az, talan a signed.applets.codebase_principal_support csinalja ezt is)
Persze ha a fejlesztes kesz, a tisztessegesen alairt kod a tuti, publikus hasznalat eseten.
----
Sooner or later you had to talk, even if it was only because you'd run out of things to throw. - Pratchett
honlap készítés
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Pont most ugyanebbe a problémába kerültem én is.
Van egy oldalunk.
Viszont az ügyfelek hitelesítése nem nálunk, hanem a partnerünk oldalán történne.
Én ezt AJAX-al akartam megoldani úgy, hogy elsötétíteném a saját oldalunkat, és előhoznám egy DIV-ben a partner oldalát(itt lehetne egy IFRAME, de kompatibilitási okok miatt nem így csinálnám).
Mivel partnerünk nem használ semmi AJAX-ot csak puritán linkeket és formokat, ezért azt akartam, hogy az én oldalamba beégetek olyan eseményfigyelőket, amik felülbírálnák az ő form küldéseit, így ki tudnám készesíteni, hogy ne írja felül az én oldalamat, hanem végig az ő számára kijelölt DIV-ben maradjon.
Sajnos ez így elbukott a fenti korlátozás miatt.
Viszont lenne egy kérdésem. Mi számít viszonyítási alapnak? Ha a DIV-be behozom a partner oldalát és ott definiálom az eljárást (megkérem, hogy legyen benne a kódjában), akkor ilyenkor min számít? Az hogy partnernél definiáltam az eljárást, aminek a tartalmát beírom a DIV-be, vagy az a lényeg, hogy az eredeti oldal az én oldalam?
Ha nem lesz más, akkor a DIV-be egy IFRAME-t kell létrehoznom.
Bár nem tudom a két megoldáson kívül van -e más megoldás.
A segítséget előre is köszönöm.
Üdv:
Zoli
- A hozzászóláshoz be kell jelentkezni
A kliensoldali (ajaxos) hitelesites nem biztonsagos (kiiktathato). Inkabb kerd el az adatokat, es kapcsolodj a partner gepehez a server kodjabol!
----
Sooner or later you had to talk, even if it was only because you'd run out of things to throw. - Pratchett
honlap készítés
- A hozzászóláshoz be kell jelentkezni
Szia!
Sajnos ez nem lehetséges.
A hitelesítés nem kliens oldalon van amúgy, hanem a partner oldalán szerver oldalon. Hitelesítés után tőle kapjuk meg a sikerességet háttér-kommunikációban.
Ez azért van, mert a partner tudja csak hitelesítetni az ügyfelet, és feltétlen ennek az ő oldalán kell, hogy megtörténjen, mert én ezeket az adatokat nem tudhatom meg.
Azért akartam hogy egy DIV-ben történjen meg ez a hitelesítés, hogy az ügyfél ne azt lássa, hogy ide-oda, majd onnan-vissza hozzánk van irányítgatva 20 oldalújratöltéssel.
Üdv:
Zoli
- A hozzászóláshoz be kell jelentkezni
A megoldas: http://www.yahooapis.com/javascript/howto-proxy.html
Szerk: csak tudnam mi koze ennek a topicnak a JQueryhez... :)
- A hozzászóláshoz be kell jelentkezni
Semmi :-D csak gondoltam egy kalap alá veszem a kettőt, mert valahol mondkettő a javascript-ből nőt ki és mindekettő nagyon hasznos egy modern oldal létrehozásához. Itt bárkinek bármelyikkel lesz gondja irthat. Csak azért nem itram még JQuery-vel kapcsolatosan, mert még nem volt vele dolgom, de nemsoká lesz :) és csak emiatt nem akartam egy másik topic-ot is nyitni. Úgy gondolom a hozzászólásod alaján, hogy ebben a témában is tudsz némi segítséget nyújtani.... ;)
"A program is never done! by atman"
- A hozzászóláshoz be kell jelentkezni
Sajnalom, hogy ezt kell mondjam, de en nagyon nem ertek Javascripthez. :) Azon tul, hogy egy-ket egyszerubb Greasemonkey scriptet irtam a HUP-hoz, itt meg is all a tudomanyom. (Nem vagyok programmer.) De hogy konstruktiv is legyek: lehet a weblaboron tobbre jutsz JS temaban.
- A hozzászóláshoz be kell jelentkezni