uploadify 上传图片 请求多了个404 路径?还有两次多余的请求uploadify.swf?preventswfcaching=?如何只有一次请求呢?

星耀学园 2014-12-25 10:37:41
用的thinkphp 3.2.2做的
图片上从uploadyify这里上传 先上图
谷歌浏览器里看的


执行顺便为何是先两次没有找到 第三次就找了 看了下执行情况 还真是不一样
canceled状态的

正常的200状态


然后是JS代码
    
<script type="text/javascript" src="/js/jquery-1.11.1.js"></script>

<link rel="stylesheet" type="text/css" href="/plugins/uploadify/uploadify.css" />

<script type="text/javascript" src="/plugins/uploadify/jquery.uploadify.js"></script>
<script type="text/javascript">

$(function() {



var onekey ='{$uuid}';

$("#upload_files").uploadify({
debug :true,
formData : {'onekey':onekey},
swf : "/plugins/uploadify/uploadify.swf",
uploader : '{:U("Common/uploadify")}',
multi : true ,
onUploadSuccess : function(file,data,respone){


$('#upload_insert').before("<p>"+"<input name='attacheid' type='checkbox' value="+data+" />"+"原文件名:"+ file.name+"    "+
"<img src="+"/"+data+" width='180' height='180'>"+"上传状态:"+respone+"文件大小:"+file.size+"K"+"</p>"
);


}

});


});
</script>

为何多了两次请求 http://localhost/plugins/uploadify/uploadify.swf?preventswfcaching=1419474652045 地址也是没错的
我去官网看了 貌似也是多了两次请求
主要还是下面出现的这个
http://localhost/index.php/Home/picture/ 这个路径我并没有请求
根据命名空间 倒是 Home 模块下的picture控制器的
我取消 $("#upload_files").uploadify({.......})就不会发生 肯定是这里 的问题 求好心人解答

为何会多了这个404的请求路径呢
http://localhost/index.php/Home/picture/ 跟thpinkphp3.2应该没关系吧
这个是直接出来页面就有的错误 不是点 选择文件才有的 现在这个问题也不影响使用 不过404这个实在受不了 求指点下

这个应该就是前端的错误 后端就是页面输出 求好心人指点下 ~ 查了好久还是不明白~
...全文
4322 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Celine_xn 2016-04-12
  • 打赏
  • 举报
回复
按照四楼的思路改了然后上传的那个按钮都没有了哇
zerok_cn 2015-11-17
  • 打赏
  • 举报
回复
thanks @sinat_26031283
sinat_26031283 2015-02-15
  • 打赏
  • 举报
回复
具体代码是如下: 把getFlashHTML()这个方法覆盖了; SWFUpload.prototype.getFlashHTML=function(){return['<div id="',this.settings.id,'" class="uploadify" style="height: ',this.settings.height,'px; width: ',this.settings.width,'px;" ><object style="position: absolute; z-index: 1" id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">', '<param name="wmode" value="', this.settings.button_window_mode, '" />', '<param name="movie" value="', this.settings.flash_url, '" />', '<param name="quality" value="high" />', '<param name="menu" value="false" />', '<param name="allowScriptAccess" value="always" />', '<param name="flashvars" value="' + this.getFlashVars() + '" />', "</object></div>"].join("") }; // Wrap the instance //var $wrapper = $('<div />', { // 'id' : settings.id, // 'class' : 'uploadify', // 'css' : { // 'height' : settings.height + 'px', // 'width' : settings.width + 'px' // } //}); //$('#' + swfuploadify.movieName).wrap($wrapper); ... // Adjust the styles of the movie //$('#' + swfuploadify.movieName).css({ // 'position' : 'absolute', // 'z-index' : 1 //}); 这两部分注释了。
sinat_26031283 2015-02-15
  • 打赏
  • 举报
回复
问题找到了,可能是flashInstalled的逻辑没写对,但 确定,问题就出在当对flash那个文件操作的时候就会发请求,你可以把断点打到$('#' + swfuploadify.movieName).wrap($wrapper);这里试一试,在控制台里打印$('#' + swfuploadify.movieName)这个对象的时候就会发请求,还有一个请求是设置flash的position和z-index的时候,我懒得看逻辑,用了一个比较建的办法,把对flash的操作全部写在getFlashHTML这个方法里面,直接外面就给它套了一层div,并且给它设置定位和优先级,然后真的就不发404的错误了,对有洁癖的人来说确实有点恼火,我也是处女座…… 虽然办法不是很好,但问题还是解决了,希望对你有帮助。
wxxcarl 2015-01-12
  • 打赏
  • 举报
回复
this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url)} uploadify会自动设置一个button的背景图片,所以这里要判断一下,存在button_image就设置,不然就不设置,这样就不会有404的报错了 if(this.settings.button_image_url != ""){this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url)}}
星耀学园 2014-12-26
  • 打赏
  • 举报
回复
没人知道的么

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧