【问题标题】:What is the default Content-Type in XMLHttpRequest?XMLHttpRequest 中默认的 Content-Type 是什么?
【发布时间】:2023-03-21 03:32:01
【问题描述】:

我创建了一个javascript library,现在我正在手动设置Content-Type。我很想知道默认的 Content-Type 是什么。 the send() methodXHR documentation 充其量是令人困惑的:

4.如果body为null,则进行下一步。否则...

BodyInit

如果正文是字符串,则将编码设置为UTF-8

将请求正文和Content-Type设置为提取正文的结果。

其中,the result of extracting body 的文本是:

  • 斑点
  • 缓冲源
  • 表单数据
  • 网址搜索参数
  • USVString

那么,它会是这些类型中的哪一种?传递给send()body 采用a=b&c=d 的默认转义格式。是URLSearchParams 吗?还是USVString?还是Blob?每一个都有描述,但是太神秘了,我无法理解(我只知道它可能不是FormData)。

注意:如果可能,请提供一些官方文档

【问题讨论】:

  • @adeneo 感谢您的评论,但为什么呢?你知道有什么参考吗?是特定操作、跨浏览器还是特定浏览器?
  • 我认为它没有发送。如果您检查示例here,则没有发送Content-Type
  • 根据规范,它似乎检查字符集,如果 null 将其设置为 UTF8,然后检查“最终 MIME 类型”并设置它,通常是 @987654339 @,意思是 Content-type 设置为 text/html; charset=utf-8.
  • @MinusFour - 您链接到的示例设置内容类型。
  • @FranciscoPresencia — url.spec.whatwg.org/#urlsearchparams — 这是一种特殊的对象

标签: javascript ajax xmlhttprequest content-type


【解决方案1】:

Directly from the horse's mouth,如果你发送一个字符串,他们的最后一个测试期望"text/plain;charset=UTF-8"in accordance with the XMLHttpRequest Level 1 specification

因此,您必须参考send method 的第四步,才能根据数据准确了解预期内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 2015-12-28
    • 2015-10-27
    • 2018-09-05
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多