RISOLTO Cosa ne pensate di una chiamata AJAX al posto del PHP include?

Edmund Blackadder

Nuovo Utente
142
55
Stavo pensando ad un modo di gestire le parti statiche di un sito (header, nav, footer). Personalmente uso l'include del PHP ma non mi piace mischiare PHP e HTML. Leggendo in rete ci sono molte librerie ma se volessi una soluzione valilla c'è AJAX (questo codice è del sito che ho linkato):

HTML:
<body>
  <header></header>
  Content.
  <footer></footer>
</body>
JavaScript:
fetch("./header.html")
  .then(response => {
    return response.text()
  })
  .then(data => {
    document.querySelector("header").innerHTML = data;
  });

fetch("./footer.html")
  .then(response => {
    return response.text()
  })
  .then(data => {
    document.querySelector("footer").innerHTML = data;
  });
Cosa ne pensate di questa soluzione? Che svantaggi potrebbe portare?
 

Moffetta88

Moderatore
Staff Forum
7,527
4,948
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
Hard Disk
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
Scheda Video
STRIX GTX980 DC2OC
Scheda Audio
INTEGRATA
Monitor
AOC G2590VXQ
Alimentatore
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Internet
FTTC FASTWEB
Sistema Operativo
UBUNTU/WINDOWS10
Oddio, ajax lo uso per fare chiamate client al server senza aggiornare la pagina.
Non l'ho mai usato per "caricare" parti di pagina.
Vantaggi non so, ma di sicuro, essendo ajax di tipo async, c'è il rischio che la parte interessata venga caricata con ritardo.
Io per ora ho sempre usato il php include per il semplice fatto che tutte le pagine sono in php con parti prese o dalla $_SESSION , o dal $_POST/$_GET o addirittura da risultato di query.
Quel sistema strano di chiamare parti di html esterno, lo uso però on onsenui nello sviluppo di app, ma sono visti come "template" ed il codice base lo prevede ons-template
 
  • Mi piace
Reactions: Edmund Blackadder

Edmund Blackadder

Nuovo Utente
142
55
Quel sistema strano di chiamare parti di html esterno, lo uso però on onsenui nello sviluppo di app, ma sono visti come "template" ed il codice base lo prevede ons-template
Molto carino onsen non lo conoscevo, potrebbe essere ottimo il template in quanto alla fine l'obbiettivo è non ripetere codice.

Vantaggi non so, ma di sicuro, essendo ajax di tipo async, c'è il rischio che la parte interessata venga caricata con ritardo.
Quello che temevo ma mi è venuto in mente che si potrebbe disabilitare la richiesta asincrona:
JavaScript:
xhttp.open("GET", "template.html", false);
Certo, così diventa una richiesta "normale".
 

Moffetta88

Moderatore
Staff Forum
7,527
4,948
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
Hard Disk
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
Scheda Video
STRIX GTX980 DC2OC
Scheda Audio
INTEGRATA
Monitor
AOC G2590VXQ
Alimentatore
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Internet
FTTC FASTWEB
Sistema Operativo
UBUNTU/WINDOWS10
AJAX = Asynchronous JavaScript And XML
Capisci che se vai di AJAX e disattivi il fattore di Async non è proprio il top :patpat: Cioè, nasce per essere Async e tu lo fai diventare Sync :asd:
Purtroppo anche la funzione di jQuery .load(), è anch'essa Async.

Unico modo è dare il async: false quando fai la chiamata ajax, in alternativa fai include() con php che vai sul sicuro.
 
  • Mi piace
Reactions: Edmund Blackadder

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot del momento