采用 ajaxfileupload.js 上传文件,返回类型为  text。success: function (data, status)            //相当于java中try语句块的用法
             {      
alert(data);
                 if((data+"")=="success"){
                 alert("123");
                 } }
为什么  alert(data); 时弹出的提示框 中 显示  success , 但是  alert("123"); 不执行呢?

解决方案 »

  1.   

    说不定data有一些回车符等不可见字符,要用firebug什么的看一看值
      

  2.   

     alert(data);看下这个弹出来的 cuccess字符串 里面有没有空格。alert(data.length)看下长度是多少
      

  3.   

    虽然那个返回的是成功。。但你要看你的条件是什么啊(data+"")=="success"
    你可以alert(data+"")看看是什么。
      

  4.   

     if((data+"")=="success")不弹出提示,肯定是这2个不相同喽用firebug 跟踪一下这2个值估计是data中可能包含空格造成的
      

  5.   

     alert(date+"");    alert(data.length)  用这2个测试。 都没弹出
      

  6.   

    都没弹出是什么意思。。我们的意思是让你看看alert(date+"");得到什么值。。然后你再去改你的判断条件。。明白?!
    if((data+"")=="success"){
                                alert("123");
                             } 
    else{alert("456");}
    输出了456了就证明你的判断条件又问题。。明白?!
      

  7.   


    456 输出了。
    那怎么让 data=="success" 成立呢?  data 是 ajaxfileupload.js 上传控件返回的值,我设置的格式是 text。后台是HttpServletResponse  response = ServletActionContext.getResponse();
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println("success");
      

  8.   

    data.replace(/(^\s*)|(\s*$)/g, "")=="success"
      

  9.   


     if(data=="success"){
     alert("213");
     }else if(data=="error"){
     alert("423");
     }else if(data=="fileerror"){
     alert("234234");
     }else{
     alert("234234234");
     }
    最后一个alert() 执行了
      

  10.   

    $.ajaxFileUpload({
    url: "programUpdate.do?readerId="+$("#readerId").val(),
    secureuri:false,
    fileElementId:"uploadFile",
    dataType: "text",
    cache: false,
    success: function (data, status)            //相当于java中try语句块的用法
                 {      
     //$("#dateSending").dialog("destroy");
     if(data=="success"){
     alert("213");
     }else if(data=="error"){
     alert("423");
     }else if(data=="fileerror"){
     alert("234234");
     }else{
     alert("234234234");
     }
                 },
                 error: function (data, status, e)            //相当于java中catch语句块的用法
                 {
                  showMessage("#optionFailure");
                 }
    });
    前台JS