java swfupload 302错误_解决swfupload.swf在所有浏览器中发出的多余请求导致的302错误...

在项目先是使用了uploadify,后来发现在IE下总会引起程序中的错误.

先说下使用uploadify的这个模块,项目用的是Thinkphp框架,URL解释使用的PATHINFO模式,

请求的页面是一个商品编辑页面,/mgr/goods/edit/24.html(看得懂吧?分组/控制器/方法/参数/后缀).

在edit这个方法里,做了常规判断,如果获取的参数id=24在数据库中查不到,则跳转回请求时的页面同时创建一个session,其中框架里获取session的方法做了点修改:

获取 :session('name', true); //true 的话,拿到这个session当即销毁

如果在数据库中拿不到id=24的数据,则创建session并且跳转会请求时的页面REFERER,模版中识别到有错误提

示的session,则显示

f00b9953e195aeda9dad9078f37be9b6.png

可就这一举措,不知道为什么在IE下一访问存在的商品编辑页面下就会提示这个错,百思不得其解..

后来F12捕获了网络请求,才知道是uploadif.swf发起了一个请求,如图:

003c2076d9ad44a8515e460e2ba1f797.png

可以看见,正常情况请求的是带有参数的url,可这货莫名其妙的就去请求这个链接,导致控制器中没有获取到参数而设置session的错误提示..

发现问题后,换了swfupload这个插件,同样也是,原来他们同样都是使用了swfupload.swf这东西,

分别细读了两个插件的文档,也看了插件中的代码,发现没有可以解决这一办法的途径.

因为这一不良请求是Flash程序发起的,那就从swfupload.swf下手,当时我还不知道有源码这东西,

就下了些工具对swfupload.swf进行拆卸,在导出的SWFUpload.as发现了问题所在,在该文件的1080行中:

/* *************************************************************

Button Handling Functions

*************************************************************** */

private function SetButtonImageURL(button_image_url:String):void {

this.buttonImageURL = button_image_url;

try {

if (this.buttonImageURL !== null && this.buttonImageURL !== "") {

//就是下面这一段发起的请求

//this.buttonLoader.load(new URLRequest(this.buttonImageURL));

}

} catch (ex:Object) {

}

}

由于使用的是uploadify,我不需要对这个按钮设置什么背景图,我就直接把这段注释掉了,后来想重新生成.swf才觉得麻烦,找不到途径,对as proj又不懂,最后找到swfupload.swf的google项目,下了源码,修改,builid,ok搞定..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值