Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22940 > unrolled thread
| Started by | cb <cb@ppt.io.it> |
|---|---|
| First post | 2021-10-18 09:23 +0200 |
| Last post | 2021-10-24 12:40 +0100 |
| Articles | 10 — 4 participants |
Back to article view | Back to it.comp.www.php
php e ajax (elementare) cb <cb@ppt.io.it> - 2021-10-18 09:23 +0200
Re: php e ajax (elementare) pippo <pippo@invalid.it> - 2021-10-19 12:25 +0200
Re: php e ajax (elementare) cb <cb@ppt.io.it> - 2021-10-19 12:53 +0200
Re: php e ajax (elementare) Leonardo Serni <lserni@gmail.com> - 2021-10-19 23:02 +0200
Re: php e ajax (elementare) cb <cb@ppt.io.it> - 2021-10-20 08:09 +0200
Re: php e ajax (elementare) Leonardo Serni <lserni@gmail.com> - 2021-10-20 08:58 +0200
Re: php e ajax (elementare) pippo <pippo@invalid.it> - 2021-10-21 05:15 +0200
Re: php e ajax (elementare) Alessandro Pellizzari <shuriken@amiran.it> - 2021-10-24 10:02 +0100
Re: php e ajax (elementare) pippo <pippo@invalid.it> - 2021-10-24 13:00 +0200
Re: php e ajax (elementare) Alessandro Pellizzari <shuriken@amiran.it> - 2021-10-24 12:40 +0100
| From | cb <cb@ppt.io.it> |
|---|---|
| Date | 2021-10-18 09:23 +0200 |
| Subject | php e ajax (elementare) |
| Message-ID | <skj7co$13sf$1@gioia.aioe.org> |
Chiedo pazienza a tutti, ma sto provando ad usare ajax.
Il mio primo tentativo di chiamare php da una pagina html e' qui sotto
(scopiazzando e modificando l'esempio da w3school e da altri tutorial
sul web)
Il problema e' che quando clicco ... si ricarica la pagina e basta :-(
Evidentemente mi manca qualcosa di basilare.
Qualcuno ha la pazienza di indicarmelo ?
GRAZIE
----- index.html
<html>
<head></head>
<body>
<div>
<span id="dataGiorno">
<form action="">
<input type='button' onclick='show()' value='cclick'>
</form>
</span>
</div>
<script>
function show() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("dataGiorno").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "lista.php, true);
xmlhttp.send();
}
</script>
</body>
</html>
---- lista.php
<?php
echo "<h1>data del giorno</h1>";
?>
[toc] | [next] | [standalone]
| From | pippo <pippo@invalid.it> |
|---|---|
| Date | 2021-10-19 12:25 +0200 |
| Message-ID | <skm6e8$1aim$1@gioia.aioe.org> |
| In reply to | #22940 |
cb ha spiegato il 18/10/2021 :
> ----- index.html
> > <script>
> function show() {
> var xmlhttp = new XMLHttpRequest();
> xmlhttp.onreadystatechange = function() {
> if (this.readyState == 4 && this.status == 200) {
> document.getElementById("dataGiorno").innerHTML =
> this.responseText;
> }
> };
> xhttp.open("GET", "lista.php, true);
> xmlhttp.send();
> }
> </script>
> </body>
> </html>
> ---- lista.php
> <?php
> echo "<h1>data del giorno</h1>";
> ?>
Ciao,
> xhttp.open("GET", "lista.php, true);
potrebbe essere qualcosa di proprio banale.
lista.php non ha gli apici di chiusura.
[toc] | [prev] | [next] | [standalone]
| From | cb <cb@ppt.io.it> |
|---|---|
| Date | 2021-10-19 12:53 +0200 |
| Message-ID | <skm83l$5fo$1@gioia.aioe.org> |
| In reply to | #22941 |
>> xhttp.open("GET", "lista.php, true);
>potrebbe essere qualcosa di proprio banale.
>lista.php non ha gli apici di chiusura.
Hai perfettamente ragione,
purtroppo anche messi gli apici ... nulla e' cambiato :-(
*GRAZIE* 1000 x l'attenzione :-)
Riporto qui sotto l'ambaradan completo e corretto
sperando nella pieta' che qualcuno avesse voglia ... :-)
---- index.php
<html>
<head></head>
<body>
<form>
<input type='button' onclick='show()' value='cclick'>
</form>
<p>data: <span id="dataGiorno"></span></p>
<script>
function show() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("dataGiorno").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "lista.php", true);
xmlhttp.send();
}
</script>
</body>
</html>
---- lista.php
<?php echo "<h1>data del giorno</h1>"; ?>
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2021-10-19 23:02 +0200 |
| Message-ID | <6hcumg16be38s2r6fth816b1h7fmgn4kj1@L.Serni> |
| In reply to | #22942 |
On Tue, 19 Oct 2021 12:53:41 +0200, cb <cb@ppt.io.it> wrote:
> >> xhttp.open("GET", "lista.php, true);
> >potrebbe essere qualcosa di proprio banale.
> >lista.php non ha gli apici di chiusura.
>Hai perfettamente ragione,
>purtroppo anche messi gli apici ... nulla e' cambiato :-(
xhttp.open("GET", "lista.php", true);
^^^
xmlhttp.send();
Leonardo (ma la console degli errori non ti diceva nulla?)
--
"You all presumably know why" :-) :-(
[toc] | [prev] | [next] | [standalone]
| From | cb <cb@ppt.io.it> |
|---|---|
| Date | 2021-10-20 08:09 +0200 |
| Message-ID | <skobr0$7gc$1@gioia.aioe.org> |
| In reply to | #22943 |
On 10/19/21 11:02 PM, Leonardo Serni wrote:
> xhttp.open("GET", "lista.php", true);
> ^^^
Quando uno e' cecato e' cecato: GRAZIE !
> Leonardo (ma la console degli errori non ti diceva nulla?)
No :-(
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2021-10-20 08:58 +0200 |
| Message-ID | <9efvmgtlgjj6c1nlsi06a53phieopq53c2@L.Serni> |
| In reply to | #22944 |
On Wed, 20 Oct 2021 08:09:36 +0200, cb <cb@ppt.io.it> wrote:
>On 10/19/21 11:02 PM, Leonardo Serni wrote:
>> xhttp.open("GET", "lista.php", true);
>> ^^^
>Quando uno e' cecato e' cecato: GRAZIE !
>> Leonardo (ma la console degli errori non ti diceva nulla?)
>No :-(
E allora questo è un altro problema da risolvere, perché doveva lamentarsi che
il metodo .open l'hai richiesto a non si sa bene chi.
C'hai la javascript console che ciurla, sentiammé.
Leonardo
--
"You all presumably know why" :-) :-(
[toc] | [prev] | [next] | [standalone]
| From | pippo <pippo@invalid.it> |
|---|---|
| Date | 2021-10-21 05:15 +0200 |
| Message-ID | <skqm0f$154e$1@gioia.aioe.org> |
| In reply to | #22942 |
cb ha usato la sua tastiera per scrivere :
> >> xhttp.open("GET", "lista.php, true);
> >potrebbe essere qualcosa di proprio banale.
> >lista.php non ha gli apici di chiusura.
> Hai perfettamente ragione,
> purtroppo anche messi gli apici ... nulla e' cambiato :-(
> ---- index.php
> xhttp.open("GET", "lista.php", true);
> xmlhttp.send();
>
Leonardo ha ragione sai.
Il tuo oggetto è xmlhttp .
xhttp non è mai stato definito.
Non l'avevo neanche visto la volta scorsa.
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2021-10-24 10:02 +0100 |
| Message-ID | <itklp4Fatr6U1@mid.individual.net> |
| In reply to | #22940 |
On 18/10/2021 08:23, cb wrote:
> Chiedo pazienza a tutti, ma sto provando ad usare ajax.
> Il mio primo tentativo di chiamare php da una pagina html e' qui sotto
> (scopiazzando e modificando l'esempio da w3school e da altri tutorial
> sul web)
Ti consiglierei allora di lasciar perdere quel tutorial e quelli simili,
a meno che tu non deva supportare Internet Explorer per qualche motivo.
I browser si sono un po' evoluti rispetto a 10-15 anni fa.
Il modo "moderno" di fare quello che stai facendo è simile a questo:
<html>
<head></head>
<body>
<div>
<span id="dataGiorno">
<form action="">
<input type="button" id="btnData" value="click">
</form>
</span>
</div>
<script>
document.getElementById('btnData')
.addEventListener(
'click',
e => {
e.preventDefault()
fetch('lista.php')
.then(res => res.text())
.then(text => {
document.getElementById('dataGiorno').innerHTML = text
})
},
)
</script>
</body>
</html>
[toc] | [prev] | [next] | [standalone]
| From | pippo <pippo@invalid.it> |
|---|---|
| Date | 2021-10-24 13:00 +0200 |
| Message-ID | <sl3edj$1pr4$1@gioia.aioe.org> |
| In reply to | #22947 |
Alessandro Pellizzari ha detto questo domenica :
> On 18/10/2021 08:23, cb wrote:
>
>> Chiedo pazienza a tutti, ma sto provando ad usare ajax.
>> Il mio primo tentativo di chiamare php da una pagina html e' qui sotto
>> (scopiazzando e modificando l'esempio da w3school e da altri tutorial
>> sul web)
>
> Ti consiglierei allora di lasciar perdere quel tutorial e quelli simili,
> a meno che tu non deva supportare Internet Explorer per qualche motivo.
>
> I browser si sono un po' evoluti rispetto a 10-15 anni fa.
>
> Il modo "moderno" di fare quello che stai facendo è simile a questo:
>
> <html>
> <head></head>
> <body>
> <div>
> <span id="dataGiorno">
> <form action="">
> <input type="button" id="btnData" value="click">
> </form>
> </span>
> </div>
> <script>
> document.getElementById('btnData')
> .addEventListener(
> 'click',
> e => {
> e.preventDefault()
> fetch('lista.php')
> .then(res => res.text())
> .then(text => {
> document.getElementById('dataGiorno').innerHTML = text
> })
> },
> )
> </script>
> </body>
> </html>
>
Ehilà!
Un frammento così era proprio quello che cercavo per *fetch*.
Niente prove da fare, tutto già sistemato. Non lo testo neanche,
suppongo che funzioni senza problemi.
Era un po' che non ti vedevo. Grazie tante.
Se non erro una chiamata con fetch non è l'esatto equivalente di una
chiama ajax "tradizionale"
Ciao.
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2021-10-24 12:40 +0100 |
| Message-ID | <itkv24Fclo6U1@mid.individual.net> |
| In reply to | #22948 |
On 24/10/2021 12:00, pippo wrote: > Ehilà! > Un frammento così era proprio quello che cercavo per *fetch*. :) > Niente prove da fare, tutto già sistemato. Non lo testo neanche, > suppongo che funzioni senza problemi. > > Era un po' che non ti vedevo. Grazie tante. Di nulla :) > Se non erro una chiamata con fetch non è l'esatto equivalente di una > chiama ajax "tradizionale" `fetch` astrae tutto quello che succede con XMLHttpRequest e usa promises invece di callbacks dirette. Inoltre gestisce gli errori (usando `then` per il good path e `catch` per gli errori) e permette di costruire una request più complessa. Nell'esempio ho usato una stringa come request, ma si può passare un oggetto Request con altri parametri (per passare header, usare metodi diversi da GET, gestire CORS, etc.) È (secondo me) molto più leggibile, oltre a rendere molto più semplice la gestione dei casi più complessi che con XHR richiedono un sacco di codice scritto apposta. Bye.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web