update tutorial principiantes para node libro home desde cero actualizar node.js coffeescript fine-uploader

node.js - tutorial - node lts



La respuesta de FineUploaderJSON no contiene éxito en la devolución de llamada completa (1)

Después de disparar el método onComplete, descubrí que mi variable responseJSON no parece contener la información que esperaba. ¿Me estoy jodiendo en algún lado (probablemente), o algo no funciona del todo bien? FineUploader está reconociendo una carga exitosa, así que sé que está obteniendo la respuesta, pero cuando registro responseJSON en el onComplete, imprime "responseJSON:". Solo el nombre del archivo. sin llaves, corchetes, etc.

Código del lado del cliente

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

Código de respuesta del lado del servidor (solo la parte necesaria)

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

EDITAR: También he agregado un registro al archivo FineUploader-3.3.0.js, y está recibiendo el objeto JSON correcto, simplemente no lo está devolviendo correctamente por algún motivo.


El primer parámetro en el método onComplete es en realidad el evento, por lo que realmente está haciendo referencia a fileName con responseJSON . Si cambias los parámetros de tu método para incluir el evento, creo que debería funcionar.

uploader.on "complete", (event, id, fileName, responseJSON)