Autor Zpráva
wise
Profil
Zdravím,

při loginu do administrace používám jquery ajax, vše do včerejška běželo v pořádku, když najednou, jakmile se klikne na tlačítko Přihlásit, odchytim javascript chybu v jquery souboru, který načítám z internetu na řádku 512 object is null přičemž kolem řádku 512 je:

// args is for internal usage only
	each: function( object, callback, args ) {
		var name, i = 0,
			length = object.length, // 512

ale hlavně je to poslední verze stažená z internetu. Pokud se podíváte do souboru onLoad, tak od řádku 153 začíná co se má stát při úspěšném ajax požadavku. Vše fungovalo ok. Nicméně poku odstraním $.each atd... už to chybu nehlásí, ale logicky nefunguje vše jak má. Nevíte, kde je problém? Děkuji.
_es
Profil
wise:
Chyba nie je v jQuery ale v tvojom kóde, ktorý tej jQuery metóde dáva ako prvý argument objekt null.
Presne tak, ako je v tej chybovej správe.
Chamurappi
Profil
Reaguji na wise:
Nevíte, kde je problém?
Napiš autorům jQuery, ať se naučí vyhazovat při chybném použití smysluplnější výjimky.

je to poslední verze stažená z internetu
Zjevně i nezapakovaná. Jinak by ses dozvěděl mnohem výřečněji, že „a is null“ :-)

Pokud se podíváte do souboru onLoad, tak […]
Jak? Vidím tu všehovšudy jen kousek zdrojáku z jQuery, nic víc, co by šlo prozkoumat…
wise
Profil
Zapomněl jsem přiložit odkaz, pardon :) nevíte kde může být tedy ta chyba? http://fushi.mair.cz/admin/

_es:
Chyba je v js souboru, který stahuji z internetu jako poslední verze jquery...
Chamurappi
Profil
Reaguji na wise:
Chyba je v js souboru, který stahuji z internetu jako poslední verze jquery…
To je geniální nápad, posílat přihlašovací údaje přes skript uložený na cizím serveru někde v tramtárii…

Popsaná chyba se mi neprojevuje. Asi máš náladový skript na straně serveru, který někdy posílá správně formátovaná data a někdy nic.
wise
Profil
Chamurappi:
To je geniální nápad, posílat přihlašovací údaje přes skript uložený na cizím serveru někde v tramtárii…
přihlašovací údaje posílám přes soubor onload.js, který je uložen na mém serveru

Chyba se neprojeví, ale pokud se klikne na tlačítko Přihlásit, zobrazí se chyba např. v chybové konzoli ve firefoxu...je to js chyba...
_es
Profil
wise:
Chyba je v js souboru, který stahuji z internetu jako poslední verze jquery…
Chybová konzola zaznamená chybu v súboru jQuery, no chyba vznikne v dôsledku toho, že tej metóde jQuery predáš nevhodný argument - objekt null v svojom skripte onload.js.
jQuery nepoužívam, tak sa mi nechce študovať, čo tam máš zle, možno aj nič, len ajaxový požiadavok nič nevracia.
Chamurappi
Profil
Reaguji na wise:
přihlašovací údaje posílám přes soubor onload.js, který je uložen na mém serveru
Ne, tam jen voláš funkci, která je v souboru uloženém na cizím serveru.

Chyba se neprojeví, ale pokud se klikne na tlačítko Přihlásit, zobrazí se chyba např. v chybové konzoli
To už jsem pochopil z prvního příspěvku, že musím kliknout na tlačítko. Klikám a nic.

Aha, už to vidím, ty se (alespoň teď) pokoušíš stahovat data z jiné domény, než na které je umístěná stránka. To nejde.
ah01
Profil
wise:
Na řádku 152 svého skriptu máš:
…
152:    $.each(data, function(i, item){ 
…

proměnná data je null.

Mimochodem, jak poznamenal Chamurappi, používat veřejné CDN pro externí skripty na webu, kde zadáváš jméno a heslo je docela odvážné. Opravdu ti stojí za to riziko mít jQuery na jiném serveru?
wise
Profil
Když jsem volal adresu fushi.mair.cz chyba, jakmile přidám www, vše ok. Máte pravdu, stáhnu si soubor k sobě.
Chamurappi
Profil
Reaguji na wise:
Když jsem volal adresu fushi.mair.cz chyba, jakmile přidám www, vše ok.
Jsou to dvě různé domény. Relativní adresa na login.php vztažená k doméně s www, kterou uvádíš v <base>, je na jiné doméně, než odkázaná stránka.
wise
Profil
Přesně tak, snažím se to přesměrovat, ale nechce to jít. V tomto se moc nevyznám. Nevíte proč nejede?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub\.domain\.cz/admin/ [nc]
RewriteRule (.*) http://www.sub.domani.cz/admin/$1 [R=301,L]
Chamurappi
Profil
Reaguji na wise:
Není jednodušší tu nežádoucí verzi adresy vůbec nepoužívat a neodkazovat na ni? Nebo nepoužívat vůbec <base> a nechat relativní adresy, ať se vztahují k nalistované adrese?
wise
Profil
Tady nejde o neodkazování. Já už nyní u většiny adres nepíšu při zadávání www., takže tohle to neřeší. Určitě jsou i jiné metody, ale já bych preferoval tuto. Nevíš, kde je problém v tom přesměrování teda?
Chamurappi
Profil
Reaguji na wise:
Stejně si myslím, že používáš úplně zbytečně <base>.

Nevíš, kde je problém v tom přesměrování teda?
Nevím, Apachům neholduji, ale prolézáním fóra a metodou pokus-omyl bys to mohl zvládnout.
wise
Profil
OK, díky za rady a pomoc.

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:

0