0

type:'get' 和 type:'post' 有什么区别

  $.ajax({
                type: 'GET', /'POST'
                url: '../common/AjaxPage.aspx',
                data: { action: 'SaveSafeData', safecost: cost, safeTime: Duration },
                cache: false
            });
4

3 回答 3

2

一个发送 HTTP GET 请求,而另一个发送 HTTP POST。

基本上,区别在于 GET,数据在 url(如thing.php?action=doStuff&value=20)中发送,而对于 POST,数据在单独的标头中发送。

从语义上讲,如果您从服务器获取数据并且不更改任何内容,则通常应该使用 GET,而如果您要更改某些内容,则应该使用 POST。

于 2012-04-15T05:34:04.123 回答
1

'type' 选项是指Ajax 请求的HTTP 方法类型(GET/POST/PUT/DELETE/..)。默认为 GET;除 GET&POST 外,并非所有浏览器都支持。jQuery Ajax 中针对这种方法类型有相应的简写函数:jQuery.get() 使用 Http Get,jQuery.post() 使用 Http Post。

如果您需要了解有关 GET 与 POST 的更多信息,这里有一些非常有用的 SO Q&A:

什么时候使用 POST,什么时候使用 GET?

https://stackoverflow.com/questions/340704/get-vs-post-in-html-forms

GET 或 POST 是否比另一个更安全?

于 2012-04-15T05:59:51.220 回答
0

GET 或 POST 的类型取决于超文本传输​​协议(HTTP) 中请求的工作方式。所以你真的应该用 google http POST 或 http GET 来了解它们的区别。请注意,还要查看 HTTP 中的其他请求方法。

但是在 jquery 的上下文中,这里是整个文档的片段。请注意,还请查看 jquery ajax() 支持的当前 HTTP 请求方法是什么。

向服务器发送数据

默认情况下,Ajax 请求使用 GET HTTP 方法发送。如果需要 POST 方法,可以通过设置 type 选项的值来指定该方法。此选项影响数据选项的内容如何发送到服务器。根据 W3C XMLHTTPRequest 标准,POST 数据将始终使用 UTF-8 字符集传输到服务器。

data 选项可以包含 key1=value1&key2=value2 形式的查询字符串,或 {key1: 'value1', key2: 'value2'} 形式的映射。如果使用后一种形式,则数据在发送之前使用 jQuery.param() 转换为查询字符串。可以通过将 processData 设置为 false 来规避此处理。如果您希望将 XML 对象发送到服务器,则该处理可能是不可取的;在这种情况下,将 contentType 选项从 application/x-www-form-urlencoded 更改为更合适的 MIME 类型。

于 2012-04-15T05:43:58.673 回答