firefox浏览器用jquery.uploadify插件上传时报HTTP 302错
在Firefox浏览器中使用jquery.uploadify插件上传文件时遇到HTTP 302错误的问题,困扰了许多开发者。这个问题源于在利用Flash进行POST上传时,没有携带原有的session信息,而是创建了一个新的session。新的session由于没有通过登录验证,因此被服务器重定向到了登录页面。
在解决这个问题的过程中,我们尝试了许多方法。我们尝试在jquery.uploadify初始化时添加代码,将session信息一同post到服务器端。由于我们的项目使用的是zend框架,修改基类可能会引发其他问题。我们选择在应用控制器的init()方法中进行修改。
在init()方法中,我们首先获取session名称,然后检查是否存在于POST中的session信息。如果存在,我们就使用POST中的session ID启动session。当我们尝试加入session_start()这一行时,出现了“session已启动”的错误。去掉它后,代码才能正常运行。
尽管这个问题通过这种方法得以解决,但在开发过程中我们发现了一个问题:所有的图片上传action应该放在一个专门的控制器中,而不是与其他呈现页面的action混在一起。由于我们的偷懒行为,导致其他几个action在访问时不再进行登录验证。这是一个潜在的安全隐患,需要尽快修复。
HTTP 302问题虽然暂时得到解决,但我们始终觉得这并不是一个完美的解决方案。我们深知,真正的解决方案可能需要更深入地研究Flash上传与session管理的交互方式,以及如何在不同的浏览器和框架中实现一致的行为。为此,我们呼吁有更好解决方案的小伙伴们能与我们分享交流。我们会持续关注并更新这篇文章,希望能为遇到类似问题的开发者提供一些帮助。我们也期待着有更合理的解决方案出现,使我们的代码更加健壮、安全。
编程语言
- firefox浏览器用jquery.uploadify插件上传时报HTTP 302错
- JavaScript中的lastIndexOf()方法使用详解
- js中遍历Map对象的简单实例
- JavaScript ParseFloat()方法
- 解决appcode打开workspace无法找到xcodeproj项目文件问
- jQuery源码解读之hasClass()方法分析
- 工作中比较实用的JavaScript验证和数据处理的干货
- javascript中var的重要性分析
- asp 合并记录集并删除的sql语句
- angular2 ng build部署后base文件路径问题详细解答
- Vue2路由动画效果的实现代码
- FCKEditor网页编辑器 几点使用心得
- Laravel+Intervention实现上传图片功能示例
- jQuery EasyUI tree 使用拖拽时遇到的错误小结
- ajax类AJAXRequest v0.8.01 2008-01-31 最新版附使用帮助
- sql自动增长标识导致导入数据问题的解决方法