在触发 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 对象,只是由于某种原因没有正确地将其传回。