【发布时间】:2020-10-26 09:21:29
【问题描述】:
我了解 fetch() 响应可让您从服务器接收 formData。我搜索了一个实现此功能的示例,但没有找到一个。所有示例都讨论了从客户端上传(发布)formData 到服务器,但反之则不然。这并没有解释响应的 .formData() 方法。
那么,您能否将我指向任何链接,其中包含使用 fetch() 响应的 .formData() 方法从 PHP 服务器接收表单数据的示例。
谢谢
【问题讨论】:
-
developer.mozilla.org/en-US/docs/Web/API/Body/formData 展示了基本思想。但是服务器以 formData 格式返回内容是非常不寻常的——我从未见过这种情况发生。当它被序列化时,它实际上并不是一种非常方便的格式。通常,服务器会返回纯文本、HTML、JSON 或 XML(当然也可以是二进制文件数据)。您是否真的遇到过这种情况,或者您是否正在考虑对您的服务器进行编程来做到这一点?恕我直言,在响应中使用 JSON 会容易得多,例如 - 它非常受欢迎是有充分理由的。而且 fetch 也可以轻松读取。
-
好的。但是这个 '.formData()' 方法是干什么用的呢?
-
他们为什么要添加一个几乎没人需要的方法?
-
我提供的文档顶部的黄色“注释”解释了它的主要用途。 (重要的是要意识到这可以从传出 request 以及传入响应的正文中读取。而且,“几乎没有人”与“没有人”不同 - 如果 有人需要它那么它就很有用。即使是所有 Web 开发人员中的 1% 仍然是数千人!)
-
感谢您的耐心等待。正如我从您的解释和黄色注释中了解到的那样,此方法与其他获取响应的方法(文本、json、blob)的方向相反。当这些方法从服务器读取响应时,formData() 方法在请求/响应到达服务器的途中读取/拦截它。真的很不寻常。再次感谢。
标签: javascript php fetch response