2014-11-20 10 views
6

używam DropZone z CI, nie wiem jak wyświetlić komunikat o błędzie i niestandardowy komunikat, gdy przesłać fałszywe, to jest mój skryptJak wyświetlić komunikat o błędzie jQuery zrzutowiska

Dropzone.autoDiscover = false; 
     try { 
      var myDropzone = new Dropzone("#adminform" , { 
       paramName: "filename", // The name that will be used to transfer the file 
       maxFilesize: 0.5, // MB 
       url: window.location.href, 
       addRemoveLinks : true, 
       dictDefaultMessage : 
       '<span class="bigger-150 bolder"><i class="ace-icon fa fa-caret-right red"></i> Drop files</span> to upload \ 
       <span class="smaller-80 grey">(or click)</span> <br /> \ 
       <i class="upload-icon ace-icon fa fa-cloud-upload blue fa-3x"></i>', 
       dictResponseError: 'Error while uploading file!', 

       //change the previewTemplate to use Bootstrap progress bars 
       previewTemplate: "<div class=\"dz-preview dz-file-preview\">\n <div class=\"dz-details\">\n <div class=\"dz-filename\"><span data-dz-name></span></div>\n <div class=\"dz-size\" data-dz-size></div>\n <img data-dz-thumbnail />\n </div>\n <div class=\"progress progress-small progress-striped active\"><div class=\"progress-bar progress-bar-success\" data-dz-uploadprogress></div></div>\n <div class=\"dz-success-mark\"><span></span></div>\n <div class=\"dz-error-mark\"><span></span></div>\n <div class=\"dz-error-message\"><span data-dz-errormessage></span></div>\n</div>", 
      }); 
     } 
     catch(e) { 
      alert('Dropzone does not support older browsers!'); 
     } 

i PHP powrót 400:

$this->output->set_header("HTTP/1.0 400 Bad Request"); 

ale kiedy unoszą obraz jest na wyświetlaczu, [object Object], ale przesłanie jest:

dictResponseError: 'Error while uploading file!'

enter image description here

Odpowiedz

4

można po prostu echo komunikat z serwera za pomocą pliku PHP

if($file_uploaded == true) 
{ 

    //perform operations on valid upload 

} else { 

    //upload failed, echo back negative response to dropzone.js 
    $this->output->set_header("HTTP/1.0 400 Bad Request"); 
    echo "Error uploading file"; 

} 

Choć plik HTML może wyglądać następująco:

<script type="text/javascript"> 
    Dropzone.options.myAwesomeDropzone = { 
     paramName: "icon_image", // The name that will be used to transfer the file 
     maxFilesize: 2, // MB 
     init: function() { 
      this.on("error", function(file, response) { 
       // do stuff here. 
       alert(response); 

      }); 

     } 
    }; 
</script> 

Nadzieja to pomaga :)

10

Dla każdego w potrzebie:

Możesz wysłać wiadomość z odpowiedzią z serwera za pomocą e cho. Następnie w kodzie js dodać obsługi zdarzeń błąd

PHP

header("HTTP/1.0 400 Bad Request"); 
echo "Ups error message"; 

JS

this.on('error', function(file, response) { 
    $(file.previewElement).find('.dz-error-message').text(response); 
});