CodeIgniter のコントローラーにエラー応答を送信するモデルがあり、それが単なる JSON エンコーダーであるビューに渡されます。これがモデルの配列です。
return $posts[] = array('complete'=>0,'error'=>1003, 'message'=>'Username already exists');
私が抱えている問題は、エラーの配列が必要になることがあるため、 $posts 変数の後にこれらの角括弧が必要なことです。ただし、単一の配列をビューに渡すと、角かっこなしで JSON がエンコードされますが、角かっこを含む複数の配列がある場合は、毎回 JSON に角かっこが必要です。これがコントローラーです...
$data['data'] = $this->logins_model->signup($post_data);
$this->load->view('json', $data);
これがビューです...
header('Content-type: application/json');
$response['response'] = $data;
echo json_encode($response);
このような JSON 応答が必要です
{
"response": [
{
"complete": 0,
"error": 1003,
"message": "Username already exists"
}
]
}
これではない!
{
"response": {
"complete": 0,
"error": 1003,
"message": "Username already exists"
}
}