Php 重定向不适用于json_encode

Php 重定向不适用于json_encode,php,json,codeigniter,Php,Json,Codeigniter,大家好,我开始使用codeigniter创建一个小应用程序,我想使用json提交我的表单我在函数中添加json_encode时遇到问题,重定向不起作用我不知道为什么 这是我的密码 public function login_validate() { if ($_POST) { $login = $this->users->access(array( 'email' => $_POST['email'], '

大家好,我开始使用codeigniter创建一个小应用程序,我想使用json提交我的表单我在函数中添加json_encode时遇到问题,重定向不起作用我不知道为什么 这是我的密码

public function login_validate() {
    if ($_POST) {
        $login = $this->users->access(array(
            'email' => $_POST['email'],
            'password' => md5($_POST['password'])
                ));
        if (!$login) {
            redirect('/home');
        }
        echo json_encode($this->data);
    }
}

如何解决此问题

您应该在JSON响应中返回一个标志,如果设置了标志,请使用window.location访问所需页面


您所做的是将AJAX调用重定向到一个新页面,而不是您的浏览器。

它确实有效。只是你对它所做的和它所做的有些不同的预期。您最好询问如何实现某些功能,而不是疑惑为什么一些或多或少无用的功能组合不能实现您想要的功能,但您没有直接要求。您不能从Ajax调用重定向浏览器。如果您想这样做,您的JS代码必须检查响应,并决定是否应该从客户端重定向浏览器,例如window.location='xxx'。您应该在redirect@LokenMakwana仍然不会重定向页面,正如drew010已经解释的那样…