当我对代码进行更改以使其正常工作时,我应该写一篇日记,有时,我只是匆忙地将其投入使用,而不知道确切的原因。
出于某种原因,我确实将 xmlhttprequest 的 setRequestHeader 从“application/x-www-form-urlencoded; charset=UTF-8”更改为“application/octet-stream”,但后来,当尝试重用通过 POST 发送一些变量到 php 的代码,它不起作用。经过一段时间的检查后,我确实把它改回来了,变量终于到达了目的地!
那么每个 header 的含义是什么,它如何改变数据交换的方式?
最佳答案
application/x-www-form-urlencoded
是表单数据编码标准方式的内容类型(也用于查询字符串)。
application/octet-stream
是“一些字节的日期,没有特定格式”的内容类型(通常用于“我不知道这是什么”,有时当应该使用 Content-Disposition
时,“我不想让浏览器知道这是什么”)。
header 不会改变数据交换的方式,它只是告知接收者数据的格式。
如果 PHP 被告知数据的格式它不知道如何解析,那么它就不会解析它并填充 $_POST
等。
关于javascript - xmlhttprequest headers 定义的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534563/