搜索

首页  >  问答  >  正文

tp5.0.7 控制器中使用success() 为什么只是返回json数据?

大家好,最近学习tp5,今天在实现退出功能时遇到一个问题,以下是部分代码:

前端

<a href="{:url('index/user/logout')}">退出</a>


控制器

public function logout()
{
    //清空session
    session(null);
    //提示退出成功,并跳转到登录页
    $this->success('恭喜!退出成功!','index/user/login');
}


期望的结果:
露出tp的success方法的那个笑脸

然后提示“恭喜!退出成功!

三秒倒计时

眼前的页面变成了url('index/user/logout')的页面

实际结果:

{"code":1,"msg":"恭喜!退出成功!","data":"","url":"\/index\/user\/login.html","wait":3}


---------------------------------------------------------
就是这样,意料之外的结果。

知道success()和error()会自动判断当前请求是否是ajax方式,

应用的配置文件中设置的'default_return_type'    => 'html'

并且没有设置其他header相关的东西

不知道这里为什么会判断为ajax方式,希望知道的朋友解释一下,不胜感激!

暖暖橙暖暖橙2036 天前1185

全部回复(1)我来回复

  • 暖暖橙

    暖暖橙2019-07-16 21:04:34

    不怎么活跃啊!

    时间过去很久了。

    其实问题也早解决了。

    代码是没有问题的。

    是引入的一个js文件的问题。

    回复
    0
  • 取消回复