知识共享许可协议

XHR 和 baidubce-sdk

Content-Type

在开发 baidubce-sdk 的时候,遇到了在不同浏览器(主要是 Firefox 和 Chrome)下调用 xhr.setRequestHeader 设置 Request Header 之后,内部的处理逻辑有一些细微的差别,导致baidubce-sdk无法正常的工作。

1
2
3
4
5
var xhr = new XMLHttpRequest();
xhr.setRequestHeader('Content-Type', 'foo/bar');
// 当Method !== 'GET' 的时候
xhr.open('POST', '', true);
xhr.send('');

对于上面这段儿代码,因为我们显式的设置了Content-Type,所以我们期望的是服务器收到的 Request HeaderContent-Type 应该是 foo/bar,实际上在 Firefox 里面会自动添加 charset=UTF-8,也就是服务器得到的信息是 foo/bar; charset=UTF-8

阅读全部