我已经实现了最新版本的 FineUploader,它可以完美地呈现在我的页面上。
$(document).ready(function () {
$('#jquery-wrapped-fine-uploader').fineUploader({
request: {
endpoint: 'fu/fineuploader.cfm'
}
}).on('error', function(event, id, name, reason) {
alert('error');
})
.on('complete', function(event, id, name, responseJSON){
alert('complete');
});
});
然后我选择了一个文件,它成功地联系了 Coldfusion 页面。如果我查看调试器工具/控制台,我可以看到 Coldfusion 页面的响应。如果我对 FORM 数据进行 CFDUMP,我也会看到文件正在传递。所以到目前为止一切正常。
但是,一旦完成 Coldfusion 页面,调用页面就会触发“错误”功能并警告“错误”。
如果我查看调试器/控制台,则没有错误。所以我不明白为什么控件仍然返回错误。我怀疑错误可能是我从 cfm 页面返回的内容,目前是(这是目前 cfm 页面中写的全部内容):
<cfoutput>#serializeJSON( 'true' )#</cfoutput>
有人看到这里有什么问题吗?我真的不知道去哪里尝试解决这个问题,因为没有错误。
我正在使用 CF10、FineUploader 3.3、Chrome
提前致谢。
已接受答案的更新/附录:
基本上,响应不仅必须是正确的 JSON 格式,而且还必须具有“success”:“true” 的名称/值对。
所以,之前,我返回的 JSON 是这样的,它是有效的 JSON,但失败了:
{"name":"Peter"}
但是,它只有在添加“success”:“true”名称/对后才开始正常工作:
{"success":"true","name":"Peter"}