2010-05-18 5 views
0
$.ajax({ 
     type: 'POST', 
     url: path, 
     data: '{AreaID: ' + parentDropdownList.val() + '}', 
     contentType: 'application/json; charset=utf-8', 
     dataType: 'json', 
     success: function(response) 
     { 

     } 
    }); 

Dans le code ci-dessus j'utilise le type: 'POST'. Mon aîné m'a dit que je peux aussi utiliser 'GET' dans le type. Mais dint trouve la différence entre 'POST' et 'GET' et je veux aussi savoir quelle est l'utilisation de type, contentType, et dataType.différence entre AJAX POST et GET

Quelqu'un peut-il m'expliquer pourquoi nous utilisons ces types, contentType et dataType.

Merci d'avance.

+3

double possible de [GET vs POST à ​​Ajax] (http://stackoverflow.com/questions/715335/get- vs-post-in-ajax) –

Répondre

3

Voici quelques-uns des principes fondamentaux de la communication sur le web:

Bonne lecture ici: http://javascript.about.com/od/ajax/a/ajaxgp.htm

GET Essentiellement crée une chaîne de requête (www.mysite.co.uk/mypage?id=1%name = john% quelque chose = une autre valeur etc.etc.). Cela signifie qu'il est possible d'invoquer une requête GET directement à partir de l'URL sur un navigateur. Les serveurs Web mettent en cache les résultats des requêtes GET pour des raisons de performances. Il est très conçu pour la récupération de données. Le POST envoie réellement les données directement au serveur et le résultat n'est jamais mis en cache.

je toujours suggère d'utiliser quelque chose comme Firebug pour Firefox ou IE pour Web Development Helper afin que vous puissiez voir le transfert de données entre le client et le serveur.

En règle générale, utilisez GET pour récupérer les données et POST pour les mettre à jour.

Aussi, voir une excellente réponse à la même question ici: GET vs POST in AJAX?

1

David est correct. Un avertissement supplémentaire lors du choix entre GET et POST est de réaliser que GET sera mis en cache par des navigateurs comme IE plutôt que d'être appelé à chaque fois, alors que POST (lorsque les données sont incluses) ne sera pas mis en cache.

+0

Bon point. Bien que lors d'appels AJAX comme ci-dessus, il existe une option 'cache:' qui peut être explicitement désactivée pour empêcher cela. –

0

GET:

1) Data is appended to the URL(QueryString) 
2) Data is not secret.(Can be seen by anyone) 
3) It is a single call system 
4) Maximum data that can be sent is 256. 
5) Data transmission is faster 
6) This is the default method for many browsers 

POST:

1) Data is not appended to the URL but sent as part of Http Body. 
2) Data is Secret 
3) It is a two call system. 
4) There is no Limit on the amount of data.That is characters any amount of data can be sent. 
5) Data transmission is comparatively slow. 
6) No default and should be Explicitly specified. 
Questions connexes