Autor Zpráva
ahoj
Profil *
Tak nějak jsem si zažil použití ajaxu tímto způsobem. Mám nějakou jinou možnost předat informaci z té jedné funkce do druhé, než přes to php? Ještě mě teď napadly cookies, ale to mi připadá tak nějak přes ruku.

function akce(id) {
  var url="ax.php";
  url=url+"?go="+id;
  url=url+"&sid="+Math.random();

  xmlhttp=GetXmlHttpObject();
  if (xmlhttp==null) {
    alert ("Browser does not support HTTP Request");
    return;
  }

  xmlhttp.onreadystatechange=akcedone;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
}

function akcedone() {
  if (xmlhttp.readyState==4)  {
    res=xmlhttp.responseText;
  } else  {
  }
}
Aaron135
Profil
Doporučuji vyzkoušet jQuery.
$.post("test.php", { name: "John", time: "2pm" } );
, nebo ...
$.get("test.php", { name: "John", time: "2pm" } );
http://api.jquery.com/jQuery.post/
http://api.jquery.com/jQuery.get/
ahoj
Profil *
Nic proti jquery, ale i kdybych musel použít ty cookies, připadalo by mi to čistší, než do toho tahat 80kB framework.
Chamurappi
Profil
Reaguji na ahoje:
Nevím, jestli jsem otázku správně pochopil (nerozumím, jak ji pochopil Aaron135), ale do onreadystatechange nemusíš přiřazovat referenci na funkci, ale přímo funkci…
xmlhttp.onreadystatechange=function()
{
  if (xmlhttp.readyState==4)  {
    res=xmlhttp.responseText;
  }
};
Uvnitř této vnitřní funkce jsou přístupné lokální proměnné z nadřazené funkce.
xxxObiWan
Profil
Podle mě se ptal na to, jestli místo
  url=url+"?go="+id;
  url=url+"&sid="+Math.random();

může parametry té PHP funkci předat jinak. Ale taky si správným pochopením té otázky nejsem jistý :-)
Aaron135
Profil
Já dotaz pochopil na 50 % a proto sem zodpověděl na otázku ahoj: „Mám nějakou jinou možnost předat informaci z té jedné funkce do druhé, než přes to php?“.
ahoj
Profil *
Mně šlo o předání něčeho mezi těmi dvěma funkcemi. Příklad: mám na stránce deset divů s nějakým onclick, který má zapsat něco do databáze a pak do toho kliknutého divu vrátit hodnotu.
Takže do onclick předám ID, to pošlu tomu php, tam proběhne akce, ta vrátí hodnotu, tu načtu do responseText a zpracuju. Běžně z php do js předávám jedno číslo nebo pár údajů, které v php spojím třeba pomocí "//" a v JS pak rozdělím splitem. Teď bych ale potřeboval něco robustnějšího.

Chamurappiho návrh se mi zamlouvá, tohle řešení jsem neznal. Dík.

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:

Prosím používejte diakritiku a interpunkci.

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