0

我一直在使用下面的技巧通过 AJAX 返回成功响应:

//In controller
echo 'success';

//In Javascript
if(response == 'success'){
    //redirect
    window.location.href = '/users/profile/';
}

它在本地主机上运行良好。但是在网络服务器中,每次我想在成功后重定向页面时都会出现以下错误:

Cannot modify header information - headers already sent by (output started at ...

所以是的,我知道这是由echo重定向之前引起的。

那么,是否有正确的方法来返回成功响应?无需成为消息,只要truefalse就足够了。

[编辑]

通过使用exit('success'),它可以正常工作,但这是最好的方法吗?

谢谢。

4

1 回答 1

2

最好从 javascript 重定向。

//In controller
echo 'success'; exit;

//In Javascript
if(response == 'success'){
    window.location = 'your-controller-action';
}

编辑

你可能有空间before/after php Opening/Closing tags in controller and models。在打开标签之前从所有控制器和模型中删除所有结束标签以及任何空格。然后检查结果。

于 2013-06-26T05:18:08.930 回答