1、解决了发送手机短信验证码的bug:
$.ajax({ url:'http://gameapi.xiaoyou-game.com/user/teltest', type:'post', dataType:'json', data:{'tel':tel,'verify_text':verify_text}, success:function(data,status){ if(data.key == -1){ alert("此手机号已被注册,您可以找回密码!"); }else if(data.key == 2){ alert("图形验证码输入错误!"); }else if(data.key == 1 ){ alert("短信验证码已发送到您手机中!"); } }, error:function(){ alert("error!"); }
})
解决了ajax回调函数执行error,却不执行success的问题。原因:在php后台的teltest方法中,调用了helper中的post_mt方法,该方法最后有echo。
解决方法:echo只是为了在页面中输出发送状态,不是必需的,注释掉即可。
总结:当php后台方法有echo等输出的时候,ajax进入error。
30日更正:并不是因为有echo所以进入error,因为ajax的返回数据本来就是要echo出来的。问题在于post_mt方法中echo的数据不是json格式字符串。
标准的格式是 echo $_GET['jsoncallback'] . "(".json_encode($result).")";
2、sweetalert.js
sweetalert比js中的alert漂亮而且舒服,可以定制样式。已应用于注册和找回密码页面。