$.post 回调函数callback不执行的解决

来源:互联网 发布:找男朋友 知乎 编辑:程序博客网 时间:2024/05/16 05:11

我遇到过两种原因导致 $.post 回调函数不执行,下面就来分享一下。


1.$.Post方法在Json方式下,必须用严格的Json格式才能进入回调, Json一般要求Key与Value都要用双引号,如果用Text方式,就没这样的要求了。看了这篇文章才顿悟      

2. php的return 并不能response,必须要输出到页面。That is to say,后台response到前台,是将后台页面的输出response到前台。


for example:


function show($status,$message,$data){    $result=array(        'status'=>$status,        'message'=>$message,        'data'=>$data    );    //exit(json_encode($result));                                //tag 1                              return json_encode($result);}

public function check(){        $username=$_POST['username'];        $password=$_POST['password'];        if(!trim($username)){            //echo show("1","用户名不能为空!");                  //tag 2             return show("1","用户名不能为空!","");            //exit(show("1","用户名不能为空!",""));               //tag3        }    }

这样回调函数是接收不到参数的,只有以某种形式输出才能response。


解决:

case1:  tag1 这行注释去掉。其余可不变。


case2:  tag2 这行注释去掉。其余可不变。或者直接  exit(show("1","用户名不能

为空!",""));


这点小问题搞了近2小时,尴尬。。








0 0