浏览器设置的意外XMLHttpRequest内容长度标头(大约15%太大)

时间:2017-10-25 10:51:48

标签: javascript google-chrome-extension

问题:   浏览器设置的意外XMLHttpRequest内容长度标头(大约15%太大)   预期:内容长度:130533   得到:内容长度:149830 我并不完全关心这个问题,但是我的请求被拒绝了,这是我能注意到的唯一有趣的事情。

我正在创建XMLHttpRequest,我尝试将字符串中的文件作为multipart / formdata上传。我试图通过发出跨域请求来模仿访问网站(具有chrome扩展的权限)。

我正在关注本指南:https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_forms_through_JavaScript#Using_XMLHttpRequest_and_the_FormData_object

我写了类似下面的代码片段(最初使用fetch api,但结果相同)。

const multipart_data = get_multipart_data(); // created using url provided above
console.log("Length is: " + multipart_data.length);

const xhr = new XMLHttpRequest();

xhr.addEventListener('load', function(event) {
  console.log("LOADED!");
});

// Define what happens in case of error
xhr.addEventListener('error', function(event) {
  console.log("ERROR!");
});

// Set up our request
xhr.open('POST', location);

// Add the required HTTP header to handle a multipart form data POST request
xhr.setRequestHeader('Content-Type','multipart/form-data; boundary=' + file.boundary);

// And finally, send our data.
xhr.send(multipart_data);

请注意,我记录了请求正文的长度。我还检查了chrome设置的内容长度标题,并且存在很大的差异。

任何可能导致这种情况的想法?

0 个答案:

没有答案