我的Dropzone限制为2个文件(maxFiles:2)。如果用户将新文件拖入Dropzone,则maxfileexceeds事件会显示错误。
myDropzone.on("maxfilesexceeded", function(file){
alert("no more files accepted");
myDropzone.removeFile(file);
})
但: 如果我添加"错误事件" ..
myDropzone.on("error", function(file, errormessage, response){
alert(response.message);
})
如果出现故障,获得响应,Dropzone会警告" undefined"。 错误事件的参数应该是正确的.. Qoute(DropzoneJS主页):
错误:发生错误。接收errorMessage作为第二个参数,如果错误是由XMLHttpRequest引起的,则xhr对象为第三个。
所以第一个参数是文件,第二个是错误消息(根据作者),第三个参数是来自服务器的错误。
服务器上的错误响应如下所示:
$response = array('status' => 'error', 'message' => 'unknown error occured');
header('HTTP/1.1 500 Internal Server Error');
header('Content-type: application/json');
$response["message"] = $message;
exit (json_encode($response));
那么为什么Dropzone会给我一个" undefined" ?
答案 0 :(得分:1)
第三个参数是XHR
对象,而不是响应。请试试这个:
myDropzone.on("error", function(file, errormessage, xhr){
if(xhr) {
var response = JSON.parse(xhr.responseText);
alert(response.message);
}
});