Safari表示FormData.entries()不是函数

Jon*_*man 3 javascript safari ajax ios

我有一个发布图像的ajax函数,该函数在Chrome和Firefox中可完美运行。Safari和iOS Safari都对此表示反对。

我正在创建并附加这样的值:

var ajaxImage = new FormData();
ajaxImage.append('file-0', $('.some-file-input')[0].files[0]);
Run Code Online (Sandbox Code Playgroud)

然后,我稍后调用此图像,ajaxImage.entries()用于初始化FormData对象的迭代器,以便可以对其进行验证。但是,在Safari中ajaxImage.entries()抛出entries is not a functionTypeError。

我想我可以先进行验证,然后才能解决此问题,但是现在它困扰着我,所以我想看看是否有人可以对此有所了解。

谢谢!

Joh*_*nry 5

不幸的是,Safari不支持该规范的这一部分:https : //developer.mozilla.org/en-US/docs/Web/API/FormData#Browser_compatibility,尤其是entrys方法。

我自己还没有尝试过,但是也许像这样的polyfill:https : //github.com/francois2metz/html5-formdata可能有用吗?

但是,是的,您可能是正确的-在此之前进行验证可能是值得的。