|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
[JQuery] Domandina circa script header HTTP Request
Ciao,
allora in una pagina web ho il seguente link: Codice:
<li> <a id="byHeader" href="<c:url value="/mapping/header" />">By presence of header</a> </li> Associato a tale link con id="byHeader" ho l'attivazione del seguente metodo di uno script JQuery (che da quello che ho capito fà ciò che ho commentato, ovvero cerca dia ggiungere un header all'HTTP Request): Codice:
$("#byHeader").click(function(){ // Seleziona il link avente id="byHeader e gli assegna la seguente funzione di callback per l'evento click"
var link = $(this); // Variabile che si riferisce all'elemento nel DOM che ha scatenato l'evento (il link che è stato clickato)
/* La chiamata AJAX non viene invocata su un oggetto particolare (quindi direttamente su $)
I parametri di input sono: 1) L'URL del link selezionato 2) Il tipo di risposta previso (una stringa)
*/
$.ajax({ url: this.href, dataType: "text",
// Prima di inviare l'HTTP Request esegui la funzione che aggiunge un Header alla richiesta HTTP
beforeSend: function(req) { req.setRequestHeader("FooHeader", "foo"); },
success: function(form) {
MvcUtil.showSuccessResponse(form, link);
},
error: function(xhr) {
MvcUtil.showErrorResponse(xhr.responseText, link);
}
});
return false;
});
1) In questo caso chiamo la funzione ajax passandogli: l'URL effettivo della richiesta HTTP (this.href) ed il tipo di risposta che mi aspetto di ricevere (dataType: "text"), ma questa cosa si tratta di un oggetto JSON o non c'entra niente? 2) Nella riga: Codice:
beforeSend: function(req) { req.setRequestHeader("FooHeader", "foo"); }
Ora quì ho grossi dubbi sul significato di questa cosa...io sapevo che gli header di una HTTP Request fossero qualcosa del tipo: Codice:
GET / HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, */* Accept-Language: it Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: www.html.it Connection: Keep-Alive Cookie: __utma=151439968.604684092.1165355506.1165355506.1165357918.2; __utmz=151439968.1165357918.2.2.utmccn=(organic)|utmcsr=google|utmctr=%2Beclipse+%2B%22web+editor%22|utmcmd=organic Quindi credo che TUTTE le HTTP Request abbiano degli header (generati automaticamente dal browser o comunque dal client richiedente...) Con quella riga di codice JQuery cosa stò facendo? E' come se accodassi agli header (del tipo mostrati sopra) una nuova riga avente forma: FooHeader: foo O cosa? 3) In caso di successo di tale operazione viene chiamata un'altra funzione a cui viene passato un oggetto form (almeno credo) e che a sua volta richiama un'altra funzione del mio script JQuery, tramite le righe: Codice:
success: function(form) {
MvcUtil.showSuccessResponse(form, link);
},
Grazie mille Andrea |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Poi c'è il fatto che nel tempo alcuni header sono stati standardizzati (IETF, altre RFC) comprese altre estensioni degli header (altre RFC) e sono ad esempio obbligatori per le implementazioni del protocollo che vogliano essere 100% http compliant. Infine le specifiche del protocollo http dicono anche che a livello applicativo, la singola applicazione può definire e usare tutti gli header field che le servono, a suo uso e consumo (header custom). https://en.wikipedia.org/wiki/List_o..._header_fields
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 19-11-2012 alle 14:36. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:08.




















