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

     } 
    }); 

在上面的代码中,我使用的是类型:'POST'。我的老人告诉我,我也可以使用'GET'类型。但是dint找到'POST'和'GET'之间的区别,我也想知道type,contentType和dataType的用法。AJAX POST和GET之间的区别

任何人都可以解释我为什么使用这些类型,contentType和dataType。

在此先感谢。

+3

可能重复http://stackoverflow.com/questions/715335/get- vs-post-in-ajax) – 2010-05-18 08:30:22

回答

3

这些都是一些Web通信的基本原理:

有一个在这里阅读:http://javascript.about.com/od/ajax/a/ajaxgp.htm

本质GET创建一个查询字符串(www.mysite.co.uk/mypage?id=1%name = john%something = anothervalue等等。)。这意味着可以直接从浏览器上的URL调用GET请求。出于性能原因,Web服务器实际上会缓存GET请求的结果。有非常多的数据检索设计。

POST实际上是直接将数据发送到服务器,并且结果永远不会被缓存。

我总是建议使用像Firebug为Firefox或Web Development Helper为IE,这样就可以看到客户端和服务器之间的数据传输。

作为一个经验法则,使用GET检索数据和POST来更新它​​。

而且,看到一个伟大的答案,在这里同样的问题:GET vs POST in AJAX?

1

大卫是正确的。在GET和POST之间选择时,另一个警告字是意识到GET将被IE等浏览器缓存,而不是每次被调用,而POST(包含数据时)不会被缓存。

+0

好点。尽管在进行上述的AJAX调用时,有一个'cache:'选项可以明确禁用以防止出现这种情况。 – 2010-10-22 08:32:56

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:的[GET VS POST Ajax中](

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.