Magento 2中的XMLHttpRequest / AJAX文件上传适用于Chrome,但不适用于Firefox

时间:2018-04-25 14:02:13

标签: ajax google-chrome firefox xmlhttprequest magento2

我尝试使用AJAX或XMLHttpRequest上传Magento 2.2购物车页面上的文件,然后发送到我的控制器网址。这两个版本都适用于Chrome,但在Firefox中失败。

var fileToUpload = inputField.files[0];
var formData = new FormData();
formData.append('myVar', "something");
formData.append('myFile', fileToUpload);

var xhr = new XMLHttpRequest();
var url = "https://example.com/myurl/";

xhr.open("POST", url, true);
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        console.log(xhr.status);
    }
};
xhr.send(formData);

在Chrome中,我的服务器端代码收到:

$ _ POST

Array
(
    [myVar] => something
)

$ _文件

Array
(
    [myFile] => Array
    (
        [name] => myFileName.JPG
        [type] => image/jpeg
        [tmp_name] => /tmp/phpkcdORa
        [error] => 0
        [size] => 1745419
    )
)

在Firefox中我得到了这个:

$ _ POST

Array
(
    [myVar] => something
)

$ _文件

Array
(
    [myFile] => Array
    (
        [name] => myFileName.JPG
        [type] => 
        [tmp_name] => 
        [error] => 3
        [size] => 0
    )
)

为什么会这样,以及如何让它发挥作用?

0 个答案:

没有答案