Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步调用Html.BeginForm_Javascript_Jquery_Asp.net Mvc 3_Callback - Fatal编程技术网

Javascript 异步调用Html.BeginForm

Javascript 异步调用Html.BeginForm,javascript,jquery,asp.net-mvc-3,callback,Javascript,Jquery,Asp.net Mvc 3,Callback,在ASP.NET MVC 3应用程序中,我尝试使用Html.BeginForm helper上载文件,如: <% using (Html.BeginForm("ImportFile", "Home", new { someId = Id }, FormMethod.Post, new { enctype="multipart/form-data" } )) %> 从上传期间的导入文件操作中,我需要返回状态代码(如“成功”或“失败”),并在UI上显示相应的警报。一种方法是异步调用

在ASP.NET MVC 3应用程序中,我尝试使用Html.BeginForm helper上载文件,如:

<% using (Html.BeginForm("ImportFile", "Home", new { someId = Id }, FormMethod.Post, new { enctype="multipart/form-data" } )) %>

从上传期间的导入文件操作中,我需要返回状态代码(如“成功”或“失败”),并在UI上显示相应的警报。一种方法是异步调用表单操作,并从JS每隔2秒检查一次状态代码。 我如何异步调用它?或者有没有其他方法来实现这一点


提前感谢。

请记住,在文件上载过程中,HTTP协议有一些限制。假设您的ImportFile助手可以披露此类信息,并且可以通过REST式服务(例如importstatus.aspx)访问这些信息,下面是如何获取其状态:

var statuschecker=setInterval(){
    var rq=xmlHTTPRequestObject();
    rq.open('GET','importstatus.aspx',true);
    rq.onreadystatechange=function(){
      if (rq.readyState==4&&rq.status==200){
        if (rq.responseText=='2'){
          clearInterval(statuschecker); //stop the updater
          statuschecker=null; //prevent memory leak
          return;
        }

        if (rq.responseText=='1'){
          //display that it's still being uploaded
        }
      }//xhr status
    }

    rq.send(null);
}, 1000); //poll every second
在web服务中,进程终止时返回2。当接收到术语信号时,回调功能应终止观察者间隔/计时器