Kotlin týden Zimní výprodej
Pouze tento týden sleva až 80 % na e-learning týkající se Kotlin
40 % bodů zdarma díky naší Zimní akci!

Diskuze: AJAX-nejde odoslat premenna

Aktivity (2)
Avatar
Jan Unger
Člen
Avatar
Jan Unger:8.10.2019 20:06

Neviem donutit AJAX aby poslal premennu smerom na server. Mam pocitadlo, ktore funguje bez problemov, pocita kliknutia. Vsetko ok,, ale potrebujem po kazdom kliknuti poslat update s touto hodnotou na server, najlepsie tak aby nebola ziadna odpoved, nech zbytocne nezatazuje clientsku stanicu. posielanie moze byt niekolko krat za sekundu. Kludne by mi stacil udp paket a na serveri by som odchytil odpoved, ale nenasiel som dostatocne jednoduchy sposob. Preto to skusam s tym ajaxom.

Zkusil jsem: v develop mode v chrome nevidim absolutne ziadnu aktivitu na networku, ze by sa ajax pokusil aspon daco odoslat.. aj ked zlu hodnotu ale aspon daco .. mrtve.. skusal som aj window.location moznosti ,,ale to ma supne na inu stranku a ja potrebujem pokracovat v scripte ratania klikov.

Chci docílit: Potrebujem pocitadlo clickov tak, aby po kazdom kliknuti poslalo updanutu hodnotu smerom na server. Najlepsie tak aby co najmenej zatazoval klientovu stranu ,,cize najlepsie ziadna odpoved od servera ,ze je dorucene, alebo spracovane alebo cokolvek.

court1.js:

var button = document.getE­lementById("clic­kme"),
count = 0;
button.onclick = function() {
count += 1;
button.innerHTML = "result: " + count;
$.ajax({
type: 'POST',
url: 'count.php',
data:+count,
});
};

html :

<html>

<head>
<meta charset="UTF-8">
<title></title>
<style>
body {
margin: 0;
padding: 0;
font-family: "Lato", sans-serif;
font-size: 20pt;
font-weight: normal;
background: lightblue; /* For browsers that do not support gradients /
background: -webkit-linear-gradient(
-90deg,
lightblue,
black
); /
For Safari 5.1 to 6.0 /
background: -o-linear-gradient(
-90deg,
lightblue,
black
); /
For Opera 11.1 to 12.0 /
background: -moz-linear-gradient(
-90deg,
lightblue,
black
); /
For Firefox 3.6 to 15 /
background: linear-gradient(-90deg, lightblue, black); /
Standard syntax */
}

.main {
margin: 100px auto;
text-align: center;
}

button {
padding: 20px;
background: transparent;
text-shadow: 1px 1px 1px #202020;
font-family: "Lato", sans-serif;
font-size: 18pt;
border: 1px solid lightblue;
color: lightblue;
}
</style>
</head>

<body>
<div class="main">

<h3>court 1</h3>
<button id="clickme">click here</button>

</div>
<script src="court1.js"></scrip­t>
</body>

</html>

Dik za rady alebo nakopnutia, kde je chyba... myslel som ,ze to bude jednoducha funkcia :/..

Editováno 8.10.2019 20:07
 
Odpovědět
8.10.2019 20:06
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9.10.2019 8:07

google = ajax example jquery
google = ajax example httprequest
Kod, ktery uvadis, nemuze fungovat, protoze mu spousta kodu schazi. Konkretne treba nevidim, ze bys pripojil jquery pres tagy script.
Firefox - Nastroje - vyvojaske nastroje - konzola, F5 stranka, a musi ti vypsat spoustu erroru. A po kliknuti dalsi.

Snad i zacatecnik by mohl umet zkopirovat exampl z oficialni dokumentace... No, nejspis zacatecniky podcenili :)
https://api.jquery.com/jQuery.post/

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.post demo</title>
  <script src="https://code.jquery.com/jquery-3.4.1.js"></script> <!-- pripojeni js jknihovny jquery s funkci $.post() -->
</head>
<body>

<form action="/" id="searchForm">
  <input type="text" name="s" placeholder="Search...">
  <input type="submit" value="Search">
</form>
<!-- the result of the search will be rendered inside this div -->
<div id="result"></div>

<script>
// Attach a submit handler to the form
$( "#searchForm" ).submit(function( event ) {

  // Stop form from submitting normally
  event.preventDefault();

  // Get some values from elements on the page:
  var $form = $( this ),
    term = $form.find( "input[name='s']" ).val(),
    url = $form.attr( "action" );

  // Send the data using post
  var posting = $.post( url, { s: term } );

  // Put the results in a div
  posting.done(function( data ) {
    var content = $( data ).find( "#content" );
    $( "#result" ).empty().append( content );
  });
});
</script>

</body>
</html>
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
9.10.2019 8:07
Avatar
Jan Unger
Člen
Avatar
Jan Unger:9.10.2019 12:20

Super ... dik .,.,.pomohlo.. nacital som jquery a uz to posiela.. sice mi neposiela data, ani ziadnu hodnotu,,ale aspon to uz spravi post smerom na server.

samozrejme ze som googlil a mrte,, a v 90% pripadov je priklad ajaxu
$.ajax({
type: 'POST',
url: 'index.html',
});

tot vse.. a z toho som aj vychadzal...

aj toto forum som nasiel vlastne tak ,ze som hladal ajax vysvetlenie v nativnom jazyku,,,ked vsetky example a vysvetlenia v anglictine mi nepomohli ..
ako prve som si presiel Vas uvod do AJAXu ,kde sa v celom clanku NESPOMINA nejake nacitanie scriptu jquery.. takze len tak k tym zaciatocnikom..

 
Nahoru Odpovědět
9.10.2019 12:20
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Jan Unger
Člen
Avatar
Odpovídá na Jan Unger
Jan Unger:9.10.2019 12:28

developerske nastroje som samozrejme pozeral. chyby vypisovalo dve: nemoze nacitat favicon.ico ..... a court1.js:6 Uncaught ReferenceError: $ is not defined
at HTMLButtonEle­ment.button.on­click ,,chybu ktoru som tiez googlil ,,ale kedze sa jedna o fukciu buttonu,ktory napriek tomu ,ze tam chyba kopec kodu, tak funguje skvelo,, tak som to neriesil.. takze nie ,, nemas pravdu v tomto. Mozno by bolo vhodnejsie, keby si z toho ega trochu ukrojil a nebudes posobit ako ,,, dopln si sam.. kazdopadne dakujem este raz..

 
Nahoru Odpovědět
9.10.2019 12:28
Avatar
Jan Unger
Člen
Avatar
Jan Unger:9.10.2019 14:47

uz len oprava ajax casti, aby posielalo na server aj spravnu hodnotu:

$.ajax({
type: 'POST',
url: 'count.php?count=' + count,
});

 
Nahoru Odpovědět
9.10.2019 14:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.