AjaxSubmit文件上传 - 尝试获取响应$(document).ready()来触发

时间:2010-05-21 03:45:31

标签: jquery ajax jquery-forms-plugin

我正在使用jquery表单插件(http://malsup.com/jquery/form/)通过ajax上传文件,该文件在后台处理。

上传工作正常,我使用ASP.Net MVC返回部分视图,其中包含$(document).ready调用以设置'timer'来检查上传文件处理状态的状态。当我返回包含ha $(document).ready call的脚本块的局部视图时,它永远不会被触发,因此检查上载状态的'timer'永远不会启动。

当我通过常规$ .post调用(没有上传)执行此操作时,在将html加载到DOM后,该函数会正确触发。在调用ajaxSubmit函数以解决此问题时,我还需要做什么吗?

只是一小段代码:

$('form').live('submit', function () {
                $(this).ajaxSubmit({                   
                    success: function (data) {                        
                        $('#statusDiv').html(data);                        
                    }
                });               
                return false;
            });

1 个答案:

答案 0 :(得分:1)

您的ASP.Net MVC部分视图加载例程可以触发回调例程吗?您可以尝试在主文档的.live()处理程序中查看使用ready()绑定的自定义事件。然后在部分视图回调中.trigger('custom_event')。类似的东西:

$(document).ready( function(){
    $('container_for_partial_view').live('custom_event', function(){
        set_timer_and_do_stuff()
    }
})

...当通过ajax加载局部视图时:

$('container_for_partial_view etc etc').trigger('custom_event')