【问题标题】:difference between AJAX POST and GETAJAX POST 和 GET 的区别
【发布时间】:2011-02-20 18:41:30
【问题描述】:
 $.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。

提前致谢。

【问题讨论】:

标签: c#


【解决方案1】:

以下是网络通信的一些基础知识:

在这里阅读: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?

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 好点。尽管在进行上述 AJAX 调用时,有一个“缓存:”选项可以显式禁用以防止这种情况发生。
    【解决方案3】:

    获取:

    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.
    

    【讨论】:

      猜你喜欢
      • 2013-07-02
      • 2012-12-24
      • 2012-11-28
      • 2015-05-28
      • 2012-09-30
      • 2011-11-19
      • 1970-01-01
      • 2015-08-03
      相关资源
      最近更新 更多