【问题标题】:redirect doesn't work with json_encode重定向不适用于 json_encode
【发布时间】:2012-08-20 03:30:45
【问题描述】:

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

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);
    }
}

我该如何解决这个问题

【问题讨论】:

  • 它确实有效。只是你对它所做的事情有一些不同的预期。您最好询问如何实现某事,而不是想知道为什么某些(或多或少没用的)功能组合没有做您想做的事情,但您没有直接要求。
  • 您不能从 Ajax 调用重定向浏览器。如果你想这样做,你的 JS 代码必须检查响应并决定是否应该从客户端重定向浏览器(例如 window.location = 'xxx')。
  • 你应该把 exit() 放在 redirect() 之后
  • @Loken Makwana 这仍然不会重定向页面,因为draw010已经解释了......

标签: php json codeigniter


【解决方案1】:

您确实应该在 JSON 响应中返回一个标志,然后如果设置了标志,则使用 window.location 到达所需的页面。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2018-10-10
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2021-09-25
    相关资源
    最近更新 更多