Javascript 使用Uploadify时无法触发onComplete和onCompleteAll事件

Javascript 使用Uploadify时无法触发onComplete和onCompleteAll事件,javascript,upload,uploadify,Javascript,Upload,Uploadify,我一直在使用uploadify(www.uploadify.com)将图片上传到我的网站上,在你尝试扩展它之前,它工作得很好。我试图让它从列表中删除排队的文件,一旦该文件已上载。为此,您需要初始化uploadify,如下所示: $("#fileUpload").uploadify({ 'uploader': '/scripts/uploadify.swf', 'cancelImg': '/images/cancel.png'

我一直在使用uploadify(www.uploadify.com)将图片上传到我的网站上,在你尝试扩展它之前,它工作得很好。我试图让它从列表中删除排队的文件,一旦该文件已上载。为此,您需要初始化uploadify,如下所示:

            $("#fileUpload").uploadify({
            'uploader': '/scripts/uploadify.swf',
            'cancelImg': '/images/cancel.png',
            'script': '/Album/Manage/',
            'fileDesc': 'Image Files',
            'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
            'multi': true,
            'auto': false,
            'simUploadLimit': 3,
            'scriptData': {'album_id':'7'},
            onComplete: function(event, queueID, fileObj, response, data){
                alert(queueID); 
            }
        });

在上面的示例中,您将用
$(“#fileUpload”)替换
警报(queueID)
。uploadifyCancel(queueID)
-我只是有一个警报,让我知道事件何时触发-这永远不会发生。我使用过IE和Firefox,两者都没有区别。有人对此有经验吗?

已解决

好的,我想这是整个互联网(包括Uploadify文档和支持页面)上唯一一篇描述.Net MVC应用程序中Uploadify的怪癖的文章

经过广泛的测试,我发现:

  • 如果接受上传文件的脚本(在uploadify初始化代码中指定为
    'script':'/Album/Manage/'
    )没有返回任何内容,uploadify的响应事件不会触发-我推测错误会停止它的处理。我的脚本是一个返回类型为string的控制器中的操作。如果有错误,它将以字符串形式返回错误,否则不返回任何内容。我所做的一切都是为了解决这个问题,让它返回“OK”,如果没有出现任何问题,而不是什么都没有

  • 传递脚本数据(在uploadify initialize中指定为
    'scriptData':{'album_id':'7'}
    )的方式也导致了一个错误——我还没有弄清楚原因(uploadify之父RonnieSan似乎没有发现任何问题),所以如果有人知道,也许他们可以回复这篇帖子

  • 不能在事件处理程序(例如,
    onComplete:function)(事件、队列ID、fileObj、响应、数据){…}周围加单引号


  • 希望这有帮助-如果有人需要.Net MVC实现方面的帮助,请给我留言。

    我也在.Net MVC应用程序中使用uploadify。我完全明白你的意思。我所做的只是让我的控制器的操作返回一个JSON响应,然后在onComplete事件中解析它。我唯一一次遇到事件问题是,如果响应中缺少实际文件(当我显示图像缩略图时)

    对于使用Mac的用户,请使用查看请求,因为Firebug不会显示请求。更多关于HTTP独家新闻的信息。

    我从这里得到了答案。。!


    我将在此处添加另一个条件。无论你使用什么按钮作为上传按钮,都需要有一个id,否则,当上传发生时,不会触发任何事件。谢谢你发布这篇文章,真的很有帮助!很高兴我发现这个--
    onComplete
    不会触发,除非你返回一些东西,任何东西,只是不是一个空文档@Jimbo你好!不是要劫持这个线程,但我正在寻找一个使用uploadify和mvc3的代码示例,在这个示例中,我可以将表单数据传递给“脚本”中定义的my Upload()控制器操作(脚本数据不起作用)?此外,我还试图弄清楚当oncomplete触发时如何连接另一个控制器操作,但希望该操作返回一个actionresult,以便可以适当地更新自定义视图。任何信息/代码将不胜感激。谢谢!尽一切办法链接到你的资料来源,但也请把相关的信息放在你的答案中,以防止它的价值被链接丢失。