ako navrhnut ajax „kontrolovac“
- mino
- Člen | 16
mam formular a v nom chcem overit cez ajax ked niekto napise uzivatelske
meno ci uz je v databaze…
povodne som chcel na to spravit vlastny prezenter ajax ktory by mal akciu
skontrolujnick. Ten sa pripoji do db a vrati miesto templatu(este neviem ako sa
vypina) vrati 1 alebo 0 a to uz dalej v jquery spracujem.
Chcel by som sa spytat ci je tento navrh dobry a nieje to daka megaprasacina. Kedze som nasiel toto kde sa na to pouzivaju ine veci v ktorych este nemam celkom jasno ⇒ https://doc.nette.org/…ication/ajax
- Rampa
- Člen | 65
vytvoř si v presenteru signal pro ověření:
<?php
public function handleCheckName($name){
$payload['result']= /* ověř v db existenci a trať třeba TRUE/FALSE */
$this->terminate(new \Nette\Application\JsonResponse($payload));
}
?>
no a pak si přes jquery zavolej ten signal přes $.get().
Např (za předpokladu, že je script přímov šabloně a ne v samostatném
souboru):
<script>
$.getJSON({$this->presenter->backlink()},{'do':'chekName','name':$(*input*).val()},function(data){
if (data['result']){
/* ok */
}
});
</script>
šlo by to udělat i linkem:
<script>
$.getJSON({link checkName!},{'name':$(*input*).val()},function .....
</script>
ale hodilo by to do query stringu dvakrát otazník. Sice by se to asi přehroupalo, ale asi to nebude moc validní volání. :)
Editoval Rampa (27. 3. 2010 1:24)
- pekelnik
- Člen | 462
mino napsal(a):
mam formular a v nom chcem overit cez ajax ked niekto napise uzivatelske meno ci uz je v databaze…
povodne som chcel na to spravit vlastny prezenter ajax ktory by mal akciu skontrolujnick. Ten sa pripoji do db a vrati miesto templatu(este neviem ako sa vypina) vrati 1 alebo 0 a to uz dalej v jquery spracujem.Chcel by som sa spytat ci je tento navrh dobry a nieje to daka megaprasacina. Kedze som nasiel toto kde sa na to pouzivaju ine veci v ktorych este nemam celkom jasno ⇒ https://doc.nette.org/…ication/ajax
Tvůj příspěvek není příliš čitelný. Piš, prosím, s diakritikou a interpunkcí.
- mino
- Člen | 16
funguje až na jeden detail js kod mam :
<script>
$("#odkaz").click(function(){
$.getJSON("/?do=checkName&name=3",function(data){
alert("vysledok:"+data);
alert(data["result"]);
});
});
</script>
bohužial miesto data vypíše null, ked však vložím adresu „/?do=checkName&name=3“ do prehliadača zobrazi json výstup {„result“ :4}
pouzivam jquery 1.4.2