我正在使用TinyMCE编辑器,并且已经按照他们的演示和'T'的另一个教程进行操作。我的目标是使用图像上传器使用户能够将图像上传到服务器。 但是,当我使用图像上传器选择图像时,将弹出错误“ formData不是构造函数”。
这是JavaScript代码:
images_upload_handler: function (blobInfo, success, failure) {
var xhr, formData;
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', 'upload.php');
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location != 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(json.location);
};
formData = new FormData();
formData.append('file', blobInfo.blob(), fileName(blobInfo));
xhr.send(formData);
}
我按照此处的说明进行操作: https://www.tiny.cloud/docs/general-configuration-guide/upload-images/#imageuploaderoptions
我使用的另一个教程(大致相同)在这里: https://www.codexworld.com/tinymce-upload-image-to-server-using-php/comment-page-1/#comment-61677
答案 0 :(得分:0)
如果更改名称后仍然出现相同错误,则可能是在缓存旧页面。如果您使用的是chrome或fitefox,则应该可以在该函数中添加一个断点,并在出现错误的情况下移至确切的行。
一切看上去都与代码正确
答案 1 :(得分:0)
您不能使用变量名 'formData' 初始化为构造函数 'FormData',变量名会覆盖构造函数定义。所以应该是:
var FormRequest= new FormData();
但是您的变量不能命名为 FormData。我刚刚在 Vue 应用中遇到了这个问题。