Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 Zend_文件传输和Zend_进度条_Javascript_Ajax_Zend Framework_File Upload - Fatal编程技术网

Javascript Zend_文件传输和Zend_进度条

Javascript Zend_文件传输和Zend_进度条,javascript,ajax,zend-framework,file-upload,Javascript,Ajax,Zend Framework,File Upload,为了监控大型视频文件的上传,我使用了框架附带的进度条,如中所示。上传工作正常,进度显示正确 但是,由于表单的目标是隐藏的iframe,因此服务器对初始post请求的响应将发送到该隐藏的iframe 下面是我的问题: 为什么我首先需要以iframe为目标 如何在原始页面而不是(隐藏)iframe上显示错误消息(无效post请求)或重定向(有效post请求) 我知道有各种各样的第三方文件上传解决方案(uploadify、SWFUpload等),但我想尝试一下zend框架方法 非常感谢您的帮助 再见,

为了监控大型视频文件的上传,我使用了框架附带的进度条,如中所示。上传工作正常,进度显示正确

但是,由于表单的目标是隐藏的iframe,因此服务器对初始post请求的响应将发送到该隐藏的iframe

下面是我的问题:

  • 为什么我首先需要以iframe为目标
  • 如何在原始页面而不是(隐藏)iframe上显示错误消息(无效post请求)或重定向(有效post请求)
  • 我知道有各种各样的第三方文件上传解决方案(uploadify、SWFUpload等),但我想尝试一下zend框架方法

    非常感谢您的帮助

    再见,

    blaxx

    上传是一个页面请求。作为任何新页面请求,上载以停止当前页面中运行的任何活动javascript。当您想让javascript保持运行时,您可以将上传页面请求委托给iframe,而iframe不会停止主页中的javascript。因此,如果您不以iframe为目标,则上载请求将首先停止页面中运行的所有javascript,然后进行上载。
    实际上,表单助手只是将新页面请求隐藏在iframe中


    为了能够显示自定义响应和内容,您可以修改evalProgress函数或订阅iframe的onload事件(从javascript pov来看,iframe与或html/body标记几乎相同)。例如,您可以订阅onload事件,然后通过javascript读取iframes内容并对其进行评估(顺便说一句,针对外国服务器的ajax请求也是如此)。

    感谢您的解释,第一个问题现在对我来说似乎很清楚:)关于第二个问题:如果我理解正确,使用zend Framework方法来处理进度条基本上破坏了服务器端验证的概念,因为在任何情况下,我都必须使用javascript来评估服务器响应?如果您想将结果直接显示为结果页-是的。但是你已经在使用javascript来显示进度条和创建/启动上传,所以它已经被破坏了。没有更简单的方法显示上载进度条,因为您必须始终管理两个请求(上载请求+状态请求)。有很多方法可以通过metatag自动刷新状态栏服务器,但我还没有用zf进度栏测试过。好的,谢谢你的帮助!将在我有javascript解决方案后立即发布:)