Autor Zpráva
Miri
Profil *
Ahoj, mám takový problém. Nevím jak nastavit adresu nějakého javascriptu když mi web funguje na více subdoménách. Dám přiklad

mám tento jquery kod
function vlozitDoKosiku(id){	
  $.ajax({
   type: "GET",
   url: "/ajax/pridejdokosiku.php",
   data: "id="+id, 
   success: function(data){  
   		$("#xxx").html(data);
   }  
 });
}


Ten mi funguje na "domena.cz" ale nefunguje na subdomenach. Muj web zvlada pomoci rewriteurl subdomeny jako koupelny.domena.cz, okna.domena.cz a subdomeny funguji jako proměnna. Když jsem vsak na techto subdomenach tak mi muj jQuery nefunguje protože nenajde cestu k tomuto souboru. Nevite co napsat jiného zde "url: "/ajax/pridejdokosiku.php"," aby to fungovalo? nebo je problém jinde ? Díky moc za odpověd Míra
_es
Profil
Treba nastaviť vlastnosť document.domain na hodnotu "domena.cz".
Miri
Profil *
Bohužel mi to nefunguje. Nastavil jsem to a dal před všechny JS scripty a stále to nenachází cestu.
Davex
Profil
Možná by se mělo doplnit absolutní URL ke skriptu na řádku url: "...".
Miri
Profil *
url: "http://domena.cz/ajax/pridejdokosiku.php",

nefunguje
Chamurappi
Profil
Reaguji na Miriho:
nefunguje
Ukaž.
Miri
Profil *
zkusební verze - Je to vidět, pokud přidám zboží na hlavni stránce bez subdomény tak to jde, pokud ho přidam v subdoméně koupelny tak to nejde.
_es
Profil
Miri:
Skús dať ten príkaz úplne na začiatok, pred všetky ostatné skripty.
Na čo dávaš na začiatok kódu stránky tie medzery a zalomenie riadka?
Miri
Profil *
_es:
Skús dať ten príkaz úplne na začiatok, pred všetky ostatné skripty.
- Nejdříve mám jQuery a poté je ten muj příkaz.

Na čo dávaš na začiatok kódu stránky tie medzery a zalomenie riadka?
Jaké zalomené řádky máš na mysli ?
_es
Profil
Miri:
- Nejdříve mám jQuery a poté je ten muj příkaz.
No a prečo to nevyskúšaj aj podľa rady?

Jaké zalomené řádky máš na mysli ?
  
<!DOCTYPE 
Witiko
Profil
Miri:
_es naznačuje, že odřádkování před <!DOCTYPE způsobí, že jej Internet Explorer ignoruje, což jej přepne do režimu zpětné kompatibility (mód Quirks). To nemusí být zrovna to, co chceš.

Nejdříve mám jQuery a poté je ten muj příkaz
A proč nás informuješ o tom, že to máš opačně než ti bylo porazeno?
Chamurappi
Profil
Reaguji na Witika:
odřádkování před <!DOCTYPE způsobí, že jej Internet Explorer ignoruje, což jej přepne do režimu zpětné kompatibility (mód Quirks)
Ne. <!doctype> nemusí (a nikdy nemusel) být na prvním řádku, byť tvrdí spousta návodů opak. Bílé znaky Exploreru nevadí.
Witiko
Profil
Chamurappi:
Pravda, spletl jsem si to s komentářem.
Miri
Profil *
Tak jsem to prohodil, tak jak jsem to pochopil. Takže jsem dal mojejquery.js před jquery.js a stále stejné.
_es
Profil
Miri:
Takže jsem dal mojejquery.js před jquery.js
To ti radené nebolo. Pokús sa nad radami vždy aspoň trochu zamyslieť. Možno to nepomôže, no vyskúšať to je jednoduché. Môžeš ešte použiť JSONP, no to by si to asi musel dosť prerobiť.
Miri
Profil *
Ten script který volám, jsem dal v mojejquery na první místo, ale nevidím v tom žádnou logiku a po vyzkoušení to bohužel nepomohlo..
_es
Profil
Miri:
Ten script který volám
Aký skript ako voláš?
Toto:
<script>document.domain = 'primisimo.cz';</script>
daj pred všetky ostatné skripty. Pred všetky ostané skripty znamená, že pred týmto skriptom nebude ani jedna značka <script>. Možno to nepomôže, čo však môže znamenať aj to, že bude chyba niekde úplne inde, alebo ti bude treba použiť ten JSONP.
Miri
Profil *
Nepomohlo to. Dal jsem to před všecky scripty, nepomohlo. Zkusil jsem to dát absolutně na začátek webu a nepomohlo..
Miri
Profil *
Nějaké další nápady prosím ?
Davex
Profil
Při vložení zboží do košíku na subdoméně koupelny se volá URL http://koupelny.primisimo.cz/ajax/pridejdokosiku.php?id=1, kde ale není nic zajímavého a vypadá to jako nějaká defaultní stránka. Neměl bys raději ukládat do košíku voláním skriptu na http://primisimo.cz/ajax/pridejdokosiku.php? Možná je tam ještě nějaká další chyba, ale v tomto stavu se to nedá vyzkoušet.
Miri
Profil *
Ted jsem dal teda absolutní adresu. Volá to stejné URL, ale bohužel to nejde. Console to zvýraznila červeně, ale nevím kde je chyba. Není možné aby něco povolili na hostingu ?
_es
Profil
Chamurappi:
<!doctype> nemusí (a nikdy nemusel) být na prvním řádku, byť tvrdí spousta návodů opak. Bílé znaky Exploreru nevadí.
No, nie je to celkom tak, zahada: 2 skoro rovnake HTML zobrazuje uplne inac, aj keď je dosť otázne či sa dá BOM za BOM považovať za biely znak.
Chamurappi
Profil
Reaguji na _es:
keď je dosť otázne či sa dá BOM za BOM považovať za biely znak
BOM za BOM už technicky vzato ani není BOM, ale nezalamující mezera nulové šířky v UTF-8, která nepatří mezi bílé znaky ani podle Unicodu, ani podle HTML či XML.
_es
Profil
Chamurappi:
nezalamující mezera nulové šířky v UTF-8, která nepatří mezi bílé znaky ani podle Unicodu, ani podle HTML či XML.
Zdá sa mi trochu zvláštne aby „nedeliteľná medzera nulovej šírky“ nepatrila medzi biele znaky.
Ak sa v sekcii <head> nachádza nebiely znak, tak sa sekcia <head> automaticky uzavrie?
Chamurappi
Profil
Reaguji na _es:
Použití této sekvence jako mezery je oficiálně zavržené, proto možná není na unicodovém seznamu bílých znaků.
Ve značkovacích jazycích je množina bílých znaků ještě užší, tuším, že většina těch specializovaných mezer v ní chybí.

tak sa sekcia <head> automaticky uzavrie?
Měla by. Ale prakticky to v prohlížečích nejde moc dobře rozpoznat.
_es
Profil
Súvisiace vlákno
_es
Profil
Chamurappi:
prakticky to v prohlížečích nejde moc dobře rozpoznat.
Ide, vo Firefoxe napríklad cez zvýrazňovanie syntaxe zdrojového kódu, ak sa <head> v dôsledku dvojitého BOM uzavrie, tak je <!doctype> červeno, aj prípadné ďalšie značky, - ako chybná syntax. Vlastne sa to dá rozoznať v každom, pomocou hocičoho, čo zistí presný stav stromu DOM, či už nejakými vývojárskymi nástrojmi, alebo cez JS.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: