Mi sono imbattuto in questo comando mentre imparavo AJAX. Il ragazzo che ha fatto il tutorial non ha spiegato questo comando, ciò che fanno i parametri all'interno del comando significano e cosa serve per ... Di seguito è riportato il codice che ho usato in:Che cos'è 'xmlhttp.setRequestHeader();' e in quali situazioni viene utilizzato?
<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>
Ti suggerisco di buttare via quel tutorial e usare jQuery. Il tuo codice non solo crea inutili variabili globali, ma è anche molto più complicato di quello che sarebbe con jQuery. Inoltre la stringa di query si interromperebbe se il campo di testo contenesse un carattere '&'. – ThiefMaster
Il documento è qui: http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method – talnicolas
L'op stava chiedendo di usare JavaScript nativo, non jQuery, quindi perché dire loro di cancellare la loro soluzione esistente. Mi piace imparare come funziona JavaScript nativo in modo da poter capire i compromessi con l'utilizzo di jQuery e prendere decisioni più intelligenti. E "basta usare jQuery" non spiegherà comunque la natura delle intestazioni delle richieste. – gregturn