Domanda

Mi sono imbattuto in questo comando mentre imparavo AJAX.Il ragazzo che ha realizzato il tutorial non ha spiegato questo comando, cosa significano i parametri all'interno del comando e a cosa serve ... Di seguito è riportato il codice in cui l'ho usato:

<script type="text/javascript">

        function insert(){
            if(window.XMLHttpRequest){
                xmlhttp = new XMLHttpRequest();
            }else{
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            };

            xmlhttp.onreadystatechange = function(){
                if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                    document.getElementById('message').innerHTML = xmlhttp.responseText;
                };  
            };

            parameters = 'insert_text='+document.getElementById('insert_text').value;

            xmlhttp.open('POST','ajax_posting_data.php',true);
            xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            xmlhttp.send(parameters);
        };

    </script>
È stato utile?

Soluzione

HTTP è un protocollo.Parte di quel protocollo è il concetto di intestazioni di richiesta.Quando si verifica un xhr, il testo viene scambiato tra il client e il server.Le intestazioni delle richieste fanno parte del testo che il client invia al server.

Questo è un modo per impostare le intestazioni della richiesta.Gli argomenti che vedi sono

1) l'intestazione da impostare (in questo caso, Content-type )
2) il valore dell'intestazione.(in questo caso, x-www-form-urlencoded )

Vedi questo per ulteriori informazioni.

Altri suggerimenti

È esattamente quello che dice.Imposterà le informazioni di "intestazione" per il prossimo codice tag di generazione.

Un'intestazione è praticamente una coppia chiave / valore.Viene utilizzato per trasmettere informazioni "meta" al server di destinazione per la richiesta in corso.Nel tuo caso particolare, viene utilizzato per indicare al server quale tipo di contenuto viene utilizzato per questa richiesta.

Le richieste HTTP sono messaggi passati da un sistema informatico a un altro secondo una routine impostata (un "protocollo" - qui H Yper T Ext T Ransfer P ROCOCOLO ROCOLOC) Per fare cose come inviare dati, chiedere dati da inviare, aggiornare i dati, aggiornare i dati precedentemente inviati, ecc.

Un'intestazione è fondamentalmente un pezzo di informazione sui dati nel corpo della richiesta HTTP. Il suo scopo è quello di dire alla macchina che riceve la richiesta che tipo di dati è racchiuso nel corpo della richiesta, la sua formattazione, la lingua utilizzata, se è quella di impostare un cookie, la data, la macchina host, ecc.

Più di un'intestazione può essere inserita su una richiesta HTTP e ogni intestazione ha un 'nome' e un componente 'VALUE'. Sulle pagine web sembrano

<meta name="........" content="............."/>
.

E li trovi appena sotto la parte superiore della pagina Web all'interno dell'elemento.

Per abilitare le persone di inviare richieste HTTP da una funzione JavaScript, creiamo un nuovo oggetto XMLHTTPRequest, proprio come il tuo codice lo fa con

xmlhttp = new XMLHttpRequest();
.

A questo nuovo oggetto vuoto che intendi aggiungere dati. Nonostante il nome, XMLHTTPRequest consente anche l'invio di dati in un numero di formati diversi da XML, ad es. Codice HTML, testo, JSON, ecc. Nell'esempio ogni nome dei dati verrà separato dal suo valore tramite un carattere "=" e ogni accoppiamento dati / valore sarà separato dall'accoppiamento successivo da un carattere "&". Questo tipo di formattazione è noto come codifica URL.

Dobbiamo dire al computer ricevente come vengono codificati i dati all'interno del corpo della richiesta HTTP. C'è un Intestazione standard per trasmettere questo ed è aggiunto alla richiesta tramite il metodo SetRequestheader (..) . Questo metodo utilizza 2 parametri, il nome dell'intestazione e il valore dell'intestazione. Tutta questa operazione è raggiunta nella linea

xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
.

Questo metodo SetRequestHeader (..) deve essere applicato alla richiesta dopo La richiesta è caratterizzata con il Open (...) Metodo ma Prima La richiesta finale viene inviata con il metodo Invia (.) .

The Apri (...) Metodo Definisce: (1) Il tipo di richiesta HTTP, ad es. Ottenere / post / mettere ecc; (2) La pagina Web che contiene lo script di gestione per questa richiesta, ad es. alcuni file .php o .js che effettua la query appropriata al database back-end; e (3) la natura della dinamica della richiesta, ad es. Le richieste asincrone sono assegnate un valore 'true', le richieste sincrone sono assegnate "false".

Il metodo Invia (.) Allega i dati da inviare all'interno del corpo della richiesta, nel caso della variabile chiamata "parametri".

sulla tua più ampia domanda di quali situazioni SetRequestheader (..) Viene utilizzato, direi che è usato nella maggior parte delle situazioni di richiesta HTTP. Ma alcuni tipi di dati dati aggiunti al corpo Di una richiesta HTTP invocare un'impostazione predefinita per l'intestazione "Type content".

Imposta l'intestazione HTTP del tipo di contenuto per contenere i dati codificati nell'URL inviati da un modulo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top