我正在使用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")
答案 0 :(得分:1)
检查the documentation的jQuery
部分。
如果您使用的是jQuery插件,则需要监听“完整”事件。
uploader.on 'complete', (id, fileName, responseJSON) ->
if (responseJSON.success)
// Other code