【问题标题】:Custom response header in PHP/CodeigniterPHP/Codeigniter 中的自定义响应标头
【发布时间】:2013-02-27 18:58:56
【问题描述】:

我想设置一个自定义响应标头,以便我可以使用PJAX (ajax+pushState) 提交表单。

我的基本用例是登录表单 (http://mySite.com/login),它会在成功时重定向到用户的库 (http://mySite.com/library)。

我需要将标头设置为 X-PJAX-URL: http://mysite.com/library 以便 PJAX 将 URL 重定向到库,但不幸的是使用 CI's output class functionality 对我不起作用:

$this->output->set_header('X-PJAX-URL: http://mySite.com/library');
redirect('library');

这也不是:

$output='X-PJAX-URL: http://mySite.com/library';
$this->output->append_output($output);
redirect('library');

所以问题是重定向到library 的内容,但URL 仍然是login

【问题讨论】:

    标签: php ajax codeigniter redirect pjax


    【解决方案1】:

    这样试试

    $this->output->set_header('X-PJAX-URL: http://mySite.com/library', false);
    $this->output->set_header('Location: ' . site_url('library'), false);
    

    或者试试

    header('X-PJAX-URL: http://mySite.com/library');
    header('Location: ' . site_url('library'), false);
    

    【讨论】:

    • -@Winston,没用。标题 'Location: ' . site_url('library') 工作正常。这是自定义标题部分不起作用。
    • 嗯...尝试我的最后一次更新.. 我不知道你的问题是什么。我在本地主机上尝试了您的自定义标头,它工作正常my.jetscreenshot.com/demo/20130227-tbzg-99kb
    • 嗯,你是对的。如果我只是将它应用于随机控制器功能,我可以设置自定义 pjax 标头。问题似乎出在我的特定场景中,它实际上是 2 个请求/响应。一个登录以检查登录凭据,然后第二个重定向到库。不知道该怎么办...
    • 但是你可以在第二次重定向到库之前设置标题
    • -@Winston,是的,但我想说的是,如果尝试使用这样的登录控制器功能进行重定向,它将不起作用:gist.github.com/tim-peterson/5051116
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2020-02-09
    • 1970-01-01
    • 2020-04-10
    相关资源
    最近更新 更多