哪位大神可以帮帮忙想想这是怎么回事呢!本来是可以成功的得到返回值弹出操作成功的提示的,返回值是一段文字,也就是“操作成功”,然后用alert跳出提示。
可是!
后台执行文件里我加了一段调用阿里大鱼短信API的代码,就是操作成功系统自动的发送短信提示
结果就无法得到返回值,弹不出提示了!而且后台程序是执行成功的,短信发了,操作也成功了!这是什么原因呢?求大神!!

解决方案 »

  1.   

    没有执行到你echo的地方啊,说明发短信和echo之间代码有问题
      

  2.   

    你是否ajax调用,然后在php里调用js alert了?
    这样肯定不行。如果是ajax调用,应该在前台alert返回的信息。
      

  3.   


    好,那我贴下代码。下面这段是ajax调用的php文件代码if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ 
      if(isset($_GET['id'])  && trim($_GET['id'])!="")
      {
        header("Content-type:text/html;charset=utf-8");
        $id=trim($_GET['id']);
    $sta=$_POST['tit'];
    require("data.php");
    $s=new DB();
    if($sta=="批准"){   $sql=array("pstate"=>"运作中","pingcd"=>"0","pingmb"=>"0","pingbc"=>"0","pingcc"=>"0","pinggp"=>"0","pingzz"=>"0","pingbb"=>"0","pingzc"=>"0","pingzd"=>"0","pingdd"=>"0","pingbcai"=>"0","pingcx"=>"0");
      $re=$s->update("products",$sql,"pid={$id}");
      
      
      
      if($re){    
     //发送短信通知
     //先找到生产单号
     $sqlp="select pdid,sid from products where pid='$id'";
     $infop=$s->get_one($sqlp);
     $sid=$infop['sid'];
     $pdid=$infop['pdid'];
     
     $sqls="select * from staff where ((sdep='厂部' and spos='厂长') or (sdep='生产部' and spos='经理') or (sdep='采购部' and spos='经理') or (sdep='开发部' and spos='经理') or sid='$sid') and sstate='zz'";
     $qrys=$s->query($sqls);
     $tc='SMS_5440167';
     $tp=top();
     while($infos=$s->fetch_array($qrys))
     {
     $sname=$infos['sname'];
     $szw=$infos['spos'];
     $ct="{'name':'$sname','uzw':'$szw','pdid':'$pdid'}";
     $tn=$infos['sphone'];  
     $z=sendMsg($tp,$ct,$tn,$tc); 
     }
     //end 发送短信通知
      
        $data=array("批准成功");
        $json_data=json_encode($data);
        echo $json_data;

      }else{
        $data=array("批准失败");
        $json_data=json_encode($data);
        echo $json_data;
      }

    }
    下面这段是前段js代码   $("button[name='esta']").bind("click",function(){   var id=$(this).val();
      var th=$(this).attr('title');
      $.ajax({
    url:"prosta.php?id="+id,
    type:"POST",
    cache:false,
    data:{tit:th},
    dataType:'json',
    async:true,
    success:function(data){
      var a=data[1];
     if(a=='sc')
     {
       alert(data[0]);location.href="products.php";
    //   console.log(data[1]);
       
     }else{
       alert(data[0]);window.location.reload();
     }
     }//handledata
     });   
           
       });结果问题就是 ajax调用的php文件执行后,没有返回结果,但是短信有发送成功。
    单独把发送短信的拿出来执行,也是可以发送成功的。
    如果把发送短信的那一段删除,也是可以得到批准成功提示的。
      

  4.   


    是在前台alert的,楼上附上代码了。