FineUploader onComplete无法使用CoffeeScript触发

时间:2013-03-20 03:24:33

标签: node.js coffeescript fine-uploader

我正在使用Node.JS,Express和CoffeeScript使用FineUploader创建我的第一个项目。到目前为止,一切都很完美,只有一个例外。上传完成后,我将返回一个包含成功变量的JSON对象,以及继续执行所需的另一个变量。不幸的是,我无法成功获取onComplete回调。我相信我的所有代码都是正确的,Chrome控制台不会丢失任何错误。我也试过在onComplete方法中打印到Chrome控制台,但无济于事。非常感谢任何帮助。

    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")

1 个答案:

答案 0 :(得分:1)

检查the documentationjQuery部分。

如果您使用的是jQuery插件,则需要监听“完整”事件。

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