鍍金池/ 問答/PHP/ thinkphp5中,login獲取不到后面控制器定義的數(shù)據(jù)

thinkphp5中,login獲取不到后面控制器定義的數(shù)據(jù)

thinkphp5中,login獲取不到后面控制器定義的數(shù)據(jù)

這是后面控制器的User.php的代碼

<?php
namespace app\index\controller;
use app\index\controller\Base;
use think\Request;
class User extends Base
{
    public function login()
    {
      return  $this->view->fetch();
    }
    public function checkLogin(Request $request)
    {
        $status = 0 ;
        $result = '' ;
        $data = $request -> param();
        return ['status'=>$status,'message'=>$result, 'data'=>$data];
    }




}
?>

這是前端login的代碼提交的代碼,用了ajax

<script>
    $(function(){
        $("#login").on('click',function(event){
            $.ajax({
                type:"POST",
                url:"{url('checkLogin')}",
                data:$("form").serialize(),
                dataType:'json',
                success: function (data){
                        alert(data.status)
                }
            })
        })
    })
</script>

前端點擊登錄之后應(yīng)該出來我前面定義好的status的值,但是現(xiàn)彈出來的對話框打印的個空值
不知道哪里沒寫對,求大神指點

回答
編輯回答
乖乖瀦

dataType定義了json, 但是你返回了一個數(shù)組

2017年9月18日 07:37
編輯回答
拼未來

你看是不是ajax的url沒寫對,應(yīng)該是user控制器下面的checkLogin方法,你默認的是user控制器嗎

2017年5月22日 05:34
編輯回答
赱丅呿

解決了,在url哪里,本在第二個括號里面缺少一個冒號。填上就可以解決了。謝謝各位大神

2017年5月20日 21:41
編輯回答
詆毀你
//return ['status'=>$status,'message'=>$result, 'data'=>$data];
$return = ['status'=>$status,'message'=>$result, 'data'=>$data];
echo  json_encode($return);
2017年9月18日 06:03