2010-05-18 75 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.