Javascript 关于IE8的jQuery.ajax()头设置的详细说明

Javascript 关于IE8的jQuery.ajax()头设置的详细说明,javascript,jquery,ajax,internet-explorer-8,Javascript,Jquery,Ajax,Internet Explorer 8,我试图了解一些jQuery.ajax()设置: ajaxOb.processData = false; ajaxOb.contentType = false; ajaxOb.cache = false; 一些我认为正确理解的设置,我只需要确认我在这些设置上是正确的 我的服务器对这些设置的请求是针对二进制类型文件的 .processData: 据我所知,因为默认的内容类型标题值是应用程序/x-www-form-urlencoded,如果processData不会设置为false,jQuery将把

我试图了解一些
jQuery.ajax()
设置:

ajaxOb.processData = false;
ajaxOb.contentType = false;
ajaxOb.cache = false;
一些我认为正确理解的设置,我只需要确认我在这些设置上是正确的

我的服务器对这些设置的请求是针对二进制类型文件的

.processData
: 据我所知,因为默认的
内容类型
标题值是
应用程序/x-www-form-urlencoded
,如果processData不会设置为false,jQuery将把数据选项转换为字符串以适应
内容类型
默认值

.contentType
: 我找到了一些关于为什么要使用它的解释,但我正在寻找一些示例来查看标题,如果有人能广泛地解释它,请在
contentType=true
contentType=false
时显示一些标题示例

.cache
关于缓存根据,我使用
cache=false
的唯一原因尽管我使用了
POST
,但在
IE8
中,
POST
是对GET已请求的URL进行的

我不知道我是否正确理解了这句话,所以我不想说一些愚蠢的话,如果有人能解释一下当
cache=true
时IE8会发生什么

谢谢大家,祝你们今天愉快


更新:

关于
contentType=false
,我的主要问题是理解边界是什么,现在在这里找到答案后,我需要理解的唯一一件事是:来自关于缓存选项:

如果设置为false,它将强制请求的页面不被 浏览器注意:将缓存设置为false只能在 去接请求。它通过将“={timestamp}”附加到 获取参数。对于其他类型的对象,不需要该参数 请求,除非在IE8中,当对已经存在的URL进行发布时 已被GET请求。

这是我无法理解的:

except in IE8 when a POST is made to a URL that has already been requested by a GET.

如果有人能解释这句话,我将非常感谢。

我认为这些都在文档中解释得很好,而且它们的名字让它变得非常不言自明。processData只是告诉jquery要么解析传入的数据,要么不处理它,而是按原样(如果可以)在请求体中发送数据。contentType是用于将数据发送到服务器的contentType。cache是一个标志,它只是将queryparam添加到url,以防止在设置为false时进行缓存。缓存设置为true除了不添加所说的queryparam之外,没有任何作用。我认为您误解了
contentType
选项。它不接受布尔值,而是字符串。这是如何定义发送数据的格式。默认值为
'application/x-www-form-urlencoded;charset=UTF-8'
,但如果您将数据作为JSON发送,则应将其设置为
'application/JSON'
@Felix我理解您的意思,但如果您查看以下答案:您将理解我为什么设置contentType=false,我不知道这一点。但无论如何,现在您知道什么时候将其设置为false或其他值:)