C'è un vantaggio nell'utilizzo di AJAX piuttosto che in un semplice window.location?

0

Quando eseguo semplici aggiornamenti del server o invii moduli o quel tipo di cose, sono arrivato a un bivio ... usando AJAX :

var ajax = new XMLHttpRequest();
ajax.open("post", "myserver.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.send('entry=' + encodeURIComponent(entry) + '&table=' + encodeURIComponent(table) + '&ID=' + encodeURIComponent(ID) + '&column=' + encodeURIComponent(column) + '&loc=' + encodeURIComponent(loc));
ajax.onload = function() {
    window.location = ajax.responseText.trim();
};

O solo un semplice location e GET delle variabili sul server:

window.location = myserver.php?entry=encodeURIComponent(entry)&&table=encodeURIComponent(table)&&ID=entry=encodeURIComponent(entry)&&column=encodeURIComponent(column)&&loc=encodeURIComponent(loc)

Certo, sono nuovo di AJAX, ma mi sembra che faccia la stessa cosa. So che GET e POST vengono elaborati in modo diverso sul server, ma sia get che post possono essere protetti, quindi forse mi manca qualcosa, perché so che la posizione semplice non è buona per il codice di produzione, ma non lo faccio Non so perché.

    
posta Adam McGurk 02.09.2017 - 18:17
fonte

2 risposte

2

Il primo esempio invia una richiesta POST a un server e ascolta una risposta. Quando il server risponde, imposta window.location sul testo della risposta.

Il secondo esempio costruisce un URL all'interno del client (browser) e imposta window.location su quell'URL.

L'impostazione window.location imposta un valore nella barra degli indirizzi; il browser caricherà semplicemente qualsiasi URL inserito nella barra degli indirizzi.

L'invio di una richiesta POST tramite AJAX a un server non tenterà di caricare un nuovo URL o di fare nulla sulla barra degli indirizzi; AJAX viene in genere utilizzato per inviare e / o richiedere dati da un server.

    
risposta data 02.09.2017 - 18:37
fonte
1

Per rispondere alla domanda specifica nel titolo ...

Is there an advantage to using AJAX rather than a simple window.location?

Il vantaggio principale di Ajax è che tu fai la richiesta senza navigare nell'interfaccia utente del browser in una nuova pagina.

  • Non disturbi l'esperienza dell'utente.
  • Non ti prendi il tempo per caricare e visualizzare una nuova pagina e le sue risorse.

Fai semplicemente la tua richiesta Http dietro le quinte (dal punto di vista dell'utente).

Quindi, usa Ajax quando vuoi fare una richiesta Http senza navigare nel browser.

    
risposta data 02.09.2017 - 22:08
fonte

Leggi altre domande sui tag