+ -
当前位置:首页 → 问答吧 → success:function 没有执行

success:function 没有执行

时间:2011-07-22

来源:互联网

PHP code
echo "<script>alert('图片上传成功-----".$msg."');</script>";
            echo "{msg:'".$msg."',error:'".$error."'}";

这两句 执行了 msg 也有值  

但是  
JScript code
$.ajaxFileUpload({
                url:'ajaxfileupload.php?type=upload',
                secureuri:false,
                fileElementId:'js_img',
                dataType:'json',
                success:function(data,status){
                    alert('qingqiu$sdfsdf');
                    if(typeof(data.error) != 'undefined'){
                        if(data.error != ''){
                            alert(data.error);//出错提示
                        }else{
                            alert(data.msg);//上传成功提示
                        }
                    }



到这儿 success:function(data,status){
  alert('qingqiu$sdfsdf');
根本不提示 弹出框 也就是说 根本没有执行 success:function 请问这是为什么

作者: uu78cn   发布时间: 2011-07-22

dataType:'json',


指定为json了,你又输出script标签,导致不符合json定义出错
echo "<script>alert('图片上传成功-----".$msg."');</script>";
  echo "{msg:'".$msg."',error:'".$error."'}";


而且你输出的json要复合规格,要不jq1.4+版本不执行success回调
PHP code
echo "{\"msg\":\"".$msg."\",\"error\":\"".$error."\"}";

作者: showbo   发布时间: 2011-07-22

刚测试出最新结果 

按你说的 
echo "{\"msg\":\"".$msg."\",\"error\":\"".$error."\"}";
这样写也不行 

我一直都是用 IE测的  
我换了 火狐 和 google浏览器 
程序执行 正常 这是怎么回事 貌似 不兼容IE
但是 在IE下 其他 程序 都正常执行了 结果 也得到了 
success:function 就是一直卡到这里 

写的 beforeSend:function error:function 这些 也不执行 里面的内容 貌似 到这些地方 直接就绕过去了

作者: uu78cn   发布时间: 2011-07-22

缓存了,设置cache:false

JScript code
$.ajaxFileUpload({
                url:'ajaxfileupload.php?type=upload',
                secureuri:false,
cache:false,//////////////

 

作者: showbo   发布时间: 2011-07-22