Dropzone JS抛出" undefined"添加"错误事件"

时间:2016-07-14 15:49:19

标签: javascript php html dropzone.js

我的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" ?

1 个答案:

答案 0 :(得分:1)

第三个参数是XHR对象,而不是响应。请试试这个:

myDropzone.on("error", function(file, errormessage, xhr){
    if(xhr) {
        var response = JSON.parse(xhr.responseText);
        alert(response.message);
    }
});