FineUploader OnComplete未被调用

时间:2013-08-28 01:40:28

标签: javascript jquery fine-uploader

我在使用onComplete时遇到问题。它似乎没有在onComplete中运行代码。这就是我所拥有的:

<script>
    $(document).ready(function () {
        $("#fine-uploader").fineUploader({
            request: {
                endpoint: 'upload2.php'
            },
            text: {
                uploadButton: 'Upload a file'
            },
            callbacks:{
                onComplete: function(id, fileName, responseJSON) {
                        alert("completed");
                        if (responseJSON.success) {
                            $('#imgPreview').html('Thumbnail:<img src="../images/test/' + fileName + '" alt="' + fileName + '">');
                        }
                   }
            }
        });

    });
</script>

onComplete中的警报永远不会出现,尽管文件成功上传,但if语句中的html更新永远不会出现。我在这个董事会上看到过其他类似的问题,但这些建议对我没有用。具体来说,一些用户似乎使用不同的格式作为onComplete部分:

.on('complete', function(event, id, fileName, responseJSON) {
            alert("Success: " + responseJSON.success);
            if (responseJSON.success) {
                 $('#files-upload').append('<img src="img/success.jpg" alt="' + fileName + '">');
            }

});

我不了解差异或我应该使用哪些内容,并且无法在文档中找到任何可以帮助的内容。

我对这些东西有点新意,所以任何帮助或建议都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

事件处理程序在Fine Uploader中的jQuery插件和非jQuery插件之间的工作方式略有不同。您正在使用jQuery插件,因此应将事件视为jQuery自定义事件per the documentation

因此,您的代码应如下所示:

<script>
    $(document).ready(function () {
        $("#fine-uploader").fineUploader({
            request: {
                endpoint: 'upload2.php'
            },
            text: {
                uploadButton: 'Upload a file'
            }
        })
            .on('complete', function(event, id, fileName, responseJSON) {
                alert("completed");
                if (responseJSON.success) {
                    $('#imgPreview').html('Thumbnail:<img src="../images/test/' + fileName + '" alt="' + fileName + '">');
                }
           });

    });
</script>