title: plUpload - Server Side Errors Not Showing
body: <p>I have a plupload instance based on the custom example from the website in place, it is working flawlessly except for displaying error messages that come from the server side upload script (upload.php from the examples folder in the download).</p>
  
  <p>Local error messages are being displayed, for instance if i try to upload a file type that has been restricted, i get the error message i'm expecting, however, server side messages just aren't being shown.</p>
  
  <p>I know the upload.php file is being triggered properly as my uploads are processed successfully, and i have set a sleep function to also verify the file is being requested.
  At the minute I have simply placed to lines at the top of my upload.php to assist with debugging which simply sleep for 10 seconds and return an error message, this still does not work.</p>
  
  <pre><code>upload.php
      sleep(10);
      die('{"jsonrpc" : "2.0", "error" : {"code": 500, "message": "THIS IS AN ERROR."}, "id" : "id"}');
  ...(Rest of normal upload.php file)...
  </code></pre>
  
  <p>The javascript I am using is included below, any help you guys could give would be greatly appreciated as I have spend too long on this already and the issue is holding me back from being able to push my code live.</p>
  
  <p>Thanks,</p>
  
  <p>Alex</p>
  
  <pre><code>// Fanart
  $(function() {
  var fanart_uploader = new plupload.Uploader({
      runtimes : 'html5,flash,html4',
      browse_button : 'fanart_pickfiles',
      container : 'fanart_container',
      drop_element : 'fanart_drop',
      chunk_size : '1mb',
      max_file_size : '8mb',
      url : '/upload.php?gameid=&lt;?= $gameid ?&gt;&amp;arttype=fanart',
      flash_swf_url : '/js/plupload/js/plupload.flash.swf',
      silverlight_xap_url : '/js/plupload/js/plupload.silverlight.xap',
      filters : [
          {title : "Image files", extensions : "jpg,png"},
      ]
  });
  
  fanart_uploader.bind('Init', function(up, params) {
      $('#fanart_runtime').html("You are using " + params.runtime);
  });
  
  $('#fanart_uploadfiles').click(function(e) {
      fanart_uploader.start();
      e.preventDefault();
  });
  
  fanart_uploader.init();
  
  fanart_uploader.bind('FilesAdded', function(up, files) {
      $.each(files, function(i, file) {
          $('#fanart_filelist').append(
              '&lt;div style="padding: 4px; margin: 3px; border: 1px dotted #fff; border-radius: 6px; background-color: #333;" id="' + file.id + '"&gt;&lt;img class="tick" src=\"&lt;?= $baseurl ?&gt;/images/common/icons/tick_16.png\" style=\"display: none; vertical-align: -2px;\" /&gt;' +
              file.name + ' &lt;em&gt;(' + plupload.formatSize(file.size) + ')&lt;/em&gt; &lt;div style=\"margin: auto; margin-top: 3px; width: 200px; height: 20px; border: 1px solid #fff; border-radius: 6px; background-color: #222;\"&gt;&lt;div class="progressbar" style=\"width: 0px; height: 16px; padding: 2px 0px; background-color: #ccc; border-radius: 6px; text-align: center;\"&gt;&lt;b style="font-size: 16px; color: #222;"&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;' +
          '&lt;/div&gt;');
      });
  
      up.refresh(); // Reposition Flash/Silverlight
  });
  
  fanart_uploader.bind('UploadProgress', function(up, file) {
      $('#' + file.id + " b").html(file.percent + "%");
      $('#' + file.id + " .progressbar").css("width", (file.percent * 2));
  });
  
  fanart_uploader.bind('Error', function(up, err) {
      $('#fanart_filelist').append("&lt;div&gt;Error: " + err.code +
          ", Message: " + err.message +
          (err.file ? ", File: " + err.file.name : "") +
          "&lt;/div&gt;"
      );
  
      up.refresh(); // Reposition Flash/Silverlight
  });
  
  fanart_uploader.bind('FileUploaded', function(up, file) {
      $('#' + file.id + " .tick").show();
  });
  });
  </code></pre>