我想在Yii 1中返回帶有HTTP錯誤代碼的數據。所以我使用了以下方式來獲取數據。 $code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode(); $this->setOutputError($ex->getMessage()); $this->setOutputCode($code);當我以這種方式使用它時,API 返回帶有 200 錯誤代碼的數據,如下所示但我想改變標題狀態200,所以我為此拋出異常,然后輸出數據也改變了。我只想更改標題狀態。$code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode(); $this->setOutputError($ex->getMessage()); $this->setOutputCode($code); throw new CHttpException(400, 'Bad Request');
1 回答

MYYA
TA貢獻1868條經驗 獲得超4個贊
Yii 1.1 沒有響應抽象,你需要使用http_response_code()來改變響應狀態碼:
$code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode();
$this->setOutputError($ex->getMessage());
$this->setOutputCode($code);
http_response_code(400);
或者,您也可以使用header(),但這比較棘手。
- 1 回答
- 0 關注
- 102 瀏覽
添加回答
舉報
0/150
提交
取消