function formadd() {
    datas = $('#form_add').serialize();
    $.post('{:U("form_add")}', {str: datas}, function(data) {
    //data传进来的值是一个数字
         if (data == 1) {
             alert('对不起,上传失败!');
             return false; 
             }else{
       // if(confirm("上传成功,是否继续上传问题?")){}
           window.location = '{:U("upwt",array("jbid" =>' + data + '))}';
             }
         });
    };为什么我这个跳转到页面后,data没有读取出来,显示的地址是:
http://localhost:8080/jlkyd/index.php/JiXiao/DT/upwt/jbid/+%2B+data+%2B+.html
还有就是上面的那个 if(confirm("上传成功,是否继续上传问题?")){};
为什么代码写成下面这样的时候,单击确认只刷新页面而不跳转到upwt页面去呀T  T谁能教教我
 
if(confirm("上传成功,是否继续上传问题?")){
    window.location = '{:U("upwt",array("jbid" =>' + data + '))}';
}

解决方案 »

  1.   

    http://blog.csdn.net/qq_34309305/article/details/70332254
      

  2.   


    我不想用绝对地址,我使用thinkphp写的,我知道问题出在U函数那里,data是jquery的返回值,不是thinkphp的返回值,所以加不进去,我想知道怎么才能把它俩结合起来,把我的data值传到U函数里面。
      

  3.   

    谢谢楼上了,不过我已经解决了正确的方法是:url='{:U("upwt","","")}'+'/jbid/'+data;这样拼写就可以了= . =
      

  4.   

    你在 '{:U("form_add")} 这个页面里 实现好{:U("upwt",array("jbid" =>' + data + '))}这个地址解析后再返回给data,比如data==1你是代表失败,其它的你就让data=你解析后的跳转地址,ajax接到后直接跳转,因为你js调用后台的东西,页面一渲染到浏览器,后台就隔断了,所以调不了后台的方法;此外跳转地址建议加上.href跳转,location是个地址对象,不是个串
     if (data == 1) {
                 alert('对不起,上传失败!');
                 return false; 
                 }else{
           // if(confirm("上传成功,是否继续上传问题?")){}
               window.location.href =data;
                 }
             });
      

  5.   

    恩,这个思路应该是可以的~~但是这个window.location.href =data;放到if(confirm("上传成功,是否继续上传问题?")){}里面为什么不能跳转呢?
      

  6.   

    恩,这个思路应该是可以的~~但是这个window.location.href =data;放到if(confirm("上传成功,是否继续上传问题?")){}里面为什么不能跳转呢?不能跳转应该是data的问题,你打印出data看看是什么东西