0

onComplete メソッドを起動した後、responseJSON 変数に期待した情報が含まれていないように見えることがわかりました。これは私がどこかで失敗しているのでしょうか (おそらく)、それとも何かが正しく機能していないのでしょうか? FineUploader はアップロードの成功を認識しているので、応答を取得していることはわかっていますが、onComplete に responseJSON を記録すると、「responseJSON:」と出力されます。ファイル名だけです。ブレース、ブラケットなどはありません。

クライアント側コード

    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"


    uploader.on "complete", (id, fileName, responseJSON)  ->
        console.log "responseJSON: "+responseJSON
        if (responseJSON.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

サーバー側の応答コード (必要な部分のみ)

response = 
    "success": true
    "discussionId": discussion.id
console.log JSON.stringify response
res.send JSON.stringify response

編集: ログを FineUploader-3.3.0.js ファイルにも追加しました。正しい JSON オブジェクトを受け取っていますが、何らかの理由で正しく返されていません。

4

1 に答える 1

1

onComplete メソッドの最初のパラメーターは実際にはイベントであるため、実際には で参照fileNameしていresponseJSONます。メソッドのパラメーターを変更してイベントを含めると、うまくいくはずです。

uploader.on "complete", (event, id, fileName, responseJSON)
于 2013-03-20T16:38:06.197 に答える