当我对代码进行更改以使其工作时,我应该编写日记,有时,匆忙,我只是把它投入工作而不知道原因。
我确实将xmlhttprequest的setRequestHeader从“application / x-www-form-urlencoded; charset = UTF-8”更改为“application / octet-stream”,出于某种原因,但稍后,当尝试重用时代码通过POST发送一些vars到PHP,它没有用。经过一段时间检查案例后,我确实将其更改回来,并且vars最终到达目的地!
那么这个标题的每一个是什么意思,它如何改变数据的交换方式?
答案 0 :(得分:1)
x-www-form-urlencoded
表示它会转义一些特殊字符并使整个datapackage(表单)成为一个字符串。
octet-stream
我从未见过这种格式,但我的原始猜测是它是一个8位数据块的流。
答案 1 :(得分:1)
application/x-www-form-urlencoded
是表单数据编码的标准方式的内容类型(也用于查询字符串)。
application/octet-stream
是“某些字节的日期,没有特定格式”的内容类型(通常用于“我不知道这是什么”,有时用于“我不想要”浏览器要知道“当Content-Disposition
应该使用时”。
标题不会改变数据的交换方式,只是告知收件人数据的格式。
如果PHP被告知数据的格式不知道如何解析,那么它就不会解析它并填充$_POST
和朋友。