1

Node.JS、Express、および CoffeeScript を使用して、FineUploader で最初のプロジェクトを作成しています。1 つの例外を除いて、これまでのところすべてが完全に機能しています。アップロードが完了すると、成功変数を含む JSON オブジェクトと、続行するために必要なもう 1 つの変数が返されます。残念ながら、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")
4

1 に答える 1

1

ドキュメントjQueryのセクションを確認してください。

jQueryプラグインを使用している場合は、「complete」イベントをリッスンする必要があります。

uploader.on 'complete', (id, fileName, responseJSON)  ->
  if (responseJSON.success)
    // Other code
于 2013-03-20T04:40:54.597 に答える