Autor Zpráva
lajoey
Profil *
Dobrý den,
potřeboval bych pomoci.. Můj script vytahuje celkem 5x více dat naráz (1x1000 - tj. 5000 dotazů) a to chvíli trvá a taky se ta stránka načítá chvíli. Jak mám udělat pomocí js, že při kliknutí na button mi JS načte data z nějakého souboru - řekněme data.php?dotaz=1.
Vím že je to přes AJAX ale vůbec netuším jak to funguje a ani z goooglu to moc nechápu. Poradil by mi někdo jak na to? Díky moc.
eager_beaver
Profil
Řekl bych, že na to stačí použít funkci load(), pokud pracuješ s jQuery:
$('button').on('click', function() {
 $('#semnacist').load('data.php?dotaz=1');
});

dokumentace
Joker
Profil
lajoey:
Jestli jedno načtení stránky pošle 5000 dotazů do databáze, dost možná máte chybně navrženou databázi, nebo chybně navržený skript.
mimochodec
Profil
lajoey:
Můj script vytahuje celkem 5x více dat naráz (1x1000 - tj. 5000 dotazů)

Co přesně znamená "5000 dotazů"?
xROAL
Profil
Ak jQuery nepoužívaš, je zbytočné ťahať celú knižnicu len kvôli AJAXu, keď sa dá spraviť na pár riadkov:
function vytiahniData(){
    var xhr = new XMLHttpRequest();
    xhr.open("get", "data.php?dotaz=1", true);
    xhr.onreadystatechange = function(){
        if(xhr.readyState === 4 && xhr.status === 200){
            document.getElementById("vysledok").innerHTML = xhr.responseText;
        }
    };
    xhr.send();
}
Je to len taký úplný základ. Funkcia vytiahniData() pošle požiadavku na script data.php?dotaz=1 a výsledok tohoto scriptu vypíše do DIVu s ID vysledok.
eager_beaver
Profil
lajoey:
1x1000 - tj. 5000 dotazů

Jinak tohle jsou zajímavé počty ☺
eager_beaver
Profil
xROAL:
Mimochodem hezký kód, rozhodně se vyplatí pracovat s čistým JS, než zatěžovat běh programu knihovnou jQuery u méně rozsáhlých aplikací. Jen škoda, že autor dotazu často nedá žádnou zpětnou vazbu.
lajoey
Profil *
[#7] eager_beaver
5x více dat naráz (1x1000 - tj. 5000 dotazů)
(5*1000)
xROAL:
dekuji moc, funguje to!

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: