哪位大神可以帮帮忙想想这是怎么回事呢!本来是可以成功的得到返回值弹出操作成功的提示的,返回值是一段文字,也就是“操作成功”,然后用alert跳出提示。
可是!
后台执行文件里我加了一段调用阿里大鱼短信API的代码,就是操作成功系统自动的发送短信提示
结果就无法得到返回值,弹不出提示了!而且后台程序是执行成功的,短信发了,操作也成功了!这是什么原因呢?求大神!!
可是!
后台执行文件里我加了一段调用阿里大鱼短信API的代码,就是操作成功系统自动的发送短信提示
结果就无法得到返回值,弹不出提示了!而且后台程序是执行成功的,短信发了,操作也成功了!这是什么原因呢?求大神!!
这样肯定不行。如果是ajax调用,应该在前台alert返回的信息。
好,那我贴下代码。下面这段是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文件执行后,没有返回结果,但是短信有发送成功。
单独把发送短信的拿出来执行,也是可以发送成功的。
如果把发送短信的那一段删除,也是可以得到批准成功提示的。
是在前台alert的,楼上附上代码了。