2010-12-16 177 views
3

Lorsque j'ai un appel ajax pourquoi devrais-je définir xmlhttpRequest.setRequestHeader? n'est-il pas évident de l'objet ajax que nous envoyons une requête ajax.Définition de xmlhttpRequest.setRequestHeader pour un appel ajax?

+1

De quel en-tête de requête parlez-vous? Il y a des possibilités illimitées. – epascarello

+1

Je veux dire si je veux identifier sur php que la requête est une requête ajax alors il est obligatoire de mettre xmlhttp.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded') dans js. –

Répondre

3

Vous devez d'abord comprendre que la requête AJAX est une requête HTTP. Lorsque vous ajoutez

xmlhttp.setRequestHeader('Content-Type','XXXXXXXXX'); 

il ajoute un en-tête qui définit quel type de données sera contenu dans le corps de la demande. application/x-www-form-urlencoded signifie que les données seront des données de formulaire. Le format de données pourrait être quelque chose d'autre. C'est juste que les données de formulaire sont la chose la plus commune que vous enverrez à un serveur.

+1

Donc, si j'utilise une liste déroulante ou une boîte de sélection. Je vais toujours utiliser l'application/x-www-form-urlencoded? –

+2

@Aditya Vous avez seulement besoin d'utiliser 'application/x-www-form-urlencoded' quand vous voulez envoyer des données POST avec votre demande. – HoLyVieR

+1

@HolyVier Got it Merci, est-il également obligatoire de setRequestHeader? –