Javascript 为什么formData不是构造函数?

Javascript 为什么formData不是构造函数?,javascript,constructor,tinymce,Javascript,Constructor,Tinymce,我正在与TinyMCE编辑器一起工作,我已经跟随他们的演示和另一个“T”教程。我的目标是使用图像上传程序,使用户能够将图像上传到服务器。 但是,当我使用图像上传程序选择图像时,会弹出错误“formData不是构造函数” 以下是JavaScript代码: images\u upload\u处理程序:函数(blobInfo,成功,失败){ var-xhr,formData; xhr=newXMLHttpRequest(); xhr.withCredentials=false; open('POS

我正在与TinyMCE编辑器一起工作,我已经跟随他们的演示和另一个“T”教程。我的目标是使用图像上传程序,使用户能够将图像上传到服务器。 但是,当我使用图像上传程序选择图像时,会弹出错误“formData不是构造函数”

以下是JavaScript代码:

images\u upload\u处理程序:函数(blobInfo,成功,失败){
var-xhr,formData;
xhr=newXMLHttpRequest();
xhr.withCredentials=false;
open('POST','upload.php');
xhr.onload=函数(){
var-json;
如果(xhr.status!=200){
失败('HTTP错误:'+xhr.status);
返回;
}
json=json.parse(xhr.responseText);
如果(!json | | typeof json.location!=“string”){
失败(“无效的JSON:”+xhr.responseText);
返回;
}
成功(json.location);
};
formData=新的formData();
append('file',blobInfo.blob(),fileName(blobInfo));
xhr.send(formData);

}
如果您更改了名称,但仍然收到相同的错误,可能是缓存了旧页面。如果使用chrome或fitefox,您应该能够在该函数中添加一个断点,并步进到错误所在的精确行


代码看起来一切正常

您不能使用变量名“formData”初始化为构造函数“formData”,变量名会覆盖构造函数定义。因此,它应该是:

var FormRequest= new FormData();

但您的变量不能命名为FormData。我刚在Vue应用程序中遇到这个问题。

formData
formData
<代码>新表单数据()工作正常。即使我将var名称更改为其他名称,错误也会使用“formData”。我确认我键入了FormData();我不知道为什么错误使用小写的f。你使用的是什么浏览器?我使用Google Chrome并得到列出的错误。我刚试过Internet Explorer,它说“文件名”未定义。你的代码在这个小提琴中对我来说似乎很好:你看到错误了吗?我已经在Chrome(最新版本)中进行了测试。