2016-07-14 20 views
0

Dropzoneは2ファイル(maxFiles:2)に制限されています。ユーザーが新しいファイルをDropzoneにドラッグすると、maxfileexceedsイベントにエラーが表示されます。"エラーイベント"を追加すると、Dropzone JSが "undefined"をスローします

myDropzone.on("maxfilesexceeded", function(file){ 
     alert("no more files accepted"); 
     myDropzone.removeFile(file); 
    }) 

しかし: 、私は何かが失敗した場合の応答を取得するために

myDropzone.on("error", function(file, errormessage, response){ 
     alert(response.message); 
    }) 

.. "エラーイベント" を追加した場合、ドロップゾーンは "未定義" を警告します。エラーイベントの のparamsは正しいはずです。.. Qoute(DropzoneJSホームページ):

error: An error occured. Receives the errorMessage as second parameter and if the error was due to the XMLHttpRequest the xhr object as third.

だから最初のパラメータは、(作者によれば)ファイル、第二にErrorMessageで、第三paramが誤りでありますこれはサーバーからのものです。

サーバー上のエラー応答は次のようになります。

$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)); 

なぜドロップゾーンは私に「未定義」を与えるのでしょうか?

答えて

0

3番目のパラメータは、応答ではないXHRオブジェクトです。これを試してください:

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

非常に速い回答に感謝します。それは今働く。 jsonオブジェクトを渡すだけで十分だと思った – shiroxxs

+0

あなたは大歓迎です!これで問題が解決した場合は、それを受け入れ済みとマークしてください(同じ問題に直面している人は、簡単に見つけられるでしょう)。 –

関連する問題