jquery如何猜测Ajax方法中更好的数据类型?

它是关于Ajax方法及其dataType的jquery文档中的wriiten:

‘默认:智能猜猜’

如果没有为它选择任何内容,jquery如何猜测这个方法的更好的数据类型?

如果通过ajax请求的url的输出都有html和脚本,哪一个会被考虑? html或脚本作为dataType?

主要通过查看响应的Content-Type标头 。 源中的ajaxHandleResponses函数中的详细信息(当前,对于v1.5.2,从第6,932行开始)。

从文档 :

dataType :…如果没有指定,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将产生XML,在1.4 JSON中将产生一个JavaScript对象,在1.4脚本中将执行脚本,其他任何东西都将作为字符串返回)。

回覆

如果通过ajax请求的url的输出都有html和脚本,哪一个会被考虑? html或脚本作为dataType?

这将是带有嵌入式脚本标记的HTML,它也是HTML。 将(如果)将HTML插入DOM时,将评估script标记。 示例: http : //jsbin.com/utuha3

不要依赖jQuery来正确猜测返回的dataType 。 我正在返回text但我愚蠢地假设text是默认设置而不查看文档 ,我的ajax请求似乎随机失败,给我的一些用户一个糟糕的体验,其他人会没事。

即jQuery无法可靠地智能地将text猜测为dataType