AJAX POST和GET之间的区别

时间:2010-05-18 08:07:54

标签: c#

 $.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的用途。

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

提前致谢。

3 个答案:

答案 0 :(得分:3)

这些是网络传播的基本原理:

请在此处阅读:http://javascript.about.com/od/ajax/a/ajaxgp.htm

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

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

我总是建议在Firefox上使用Firebug或在IE上使用Web Development Helper,以便查看客户端和服务器之间的数据传输。

根据经验,使用GET检索数据,使用POST进行更新。

此外,请在此处查看同一问题的绝佳答案:GET vs POST in AJAX?

答案 1 :(得分:1)

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

答案 2 :(得分:0)

获取:

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 

发布:

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.