2013-03-20 60 views
1

我使用Node.JS,Express和CoffeeScript创建了我的第一个使用FineUploader的项目。到目前为止,一切都很完美,只有一个例外。上传完成后,我返回一个包含成功变量的JSON对象以及一个必需的其他变量。不幸的是,我无法成功获得onComplete回调。我相信我的所有代码都是正确的,Chrome控制台不会引发任何错误。我也尝试在onComplete方法中打印到Chrome控制台,但无济于事。任何援助将不胜感激。FineUploader onComplete没有使用CoffeeScript发射

uploader = new $("#collaboration-fine-uploader").fineUploader 
     autoUpload: false 
     multiple: false 
     validation: 
      allowedExtensions: ['pdf', 'doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'] 
      sizeLimit: 1024*1024*1024*10 # 10MB 
     text: 
      uploadButton: "<i class='icon-plus icon-white'></i> Select Files" 
     request: 
      endpoint: "/files/discussions/collaborations/upload" 
     callbacks: 
      onComplete: (id, fileName, responseJSON) -> 
       if (responseJSON.success) 
        alert "response success" 
        discussionId = responseJSON.discussionId 
        $.ajax 
         type: "GET" 
         url: "/courses/"+serverData.course._id+"/discussions/"+discussionId 
         beforeSend: (xhr) -> 
          xhr.setRequestHeader 'x-pjax', 'true' 
         success: (html) -> 
          # Replace the old html 
          $(".discussions-tab").html html 
          $(".new-discussion").slideUp() 
          $("#new-discussion-modal").deactivateModal() 

          # History push 
          window.history.pushState window.history.state, "Discussions", "/courses/"+serverData.course._id+"/discussions/"+discussionId 

          # Scroll to top 
          $.scrollTo 0 





    $(".trigger-upload-and-submit").on "click", (e) -> 
     e.preventDefault() 
     uploader.fineUploader "setParams", 
      discussion: 
       title: $(".new-collaboration .discussion-title").val() 
       body: $(".new-collaboration .discussion-body").val() 
       groupId: serverData.course._id 
       showProfessors: $(".new-collaboration .show-professor-checkbox").attr("checked") 
       showStudents: $(".new-collaboration .show-students-checkbox").attr("checked") 
       type: "Collaboration" 

     uploader.fineUploader("uploadStoredFiles") 
+0

请发表实际的代码。 – loganfsmyth 2013-03-20 03:25:55

+0

发布实际代码。 – TJC 2013-03-20 03:44:12

+0

对不起,我的意思是粘贴在这里的实际代码。没有人想要阅读屏幕截图。 – loganfsmyth 2013-03-20 03:45:30

回答

1

检查the documentationjQuery部分。

如果您使用的是jQuery插件,则需要监听'complete'事件。

uploader.on 'complete', (id, fileName, responseJSON) -> 
    if (responseJSON.success) 
    // Other code