火災のバグでは、jquery ポスト リクエスト パラメータを表示します。次のようになります。
adults 1
applicants[] [object Object]
attendees 1
children 0
この投稿リクエストでは、applicants という配列にjson オブジェクトが含まれており、これを反復して codeigniter コントローラーで値を引き出します。json文字列は次のようになります
({attendees:"2",
adults:"2",
children:"0",
grptype:"2",
'applicants[]':[{firstname:"John", lastname:"Doe", age:"33", allergies:"true", diabetic:"true", lactose:"false", note:"nuts"}, {firstname:"Jane", lastname:"Doe", age:"34", allergies:"true", diabetic:"false", lactose:"false", note:"pollen"}]
})
上記の申請者[]を見てください。jsonオブジェクトとして2人の情報があることを確認してください。コントローラーのデータにアクセスする方法がわかりません。これを見る
$applicants = $this->input->post('applicants');
$this->output->append_output("<br/>Here: " . $applicants[0].firstname );
$applicants[0] は json オブジェクトを参照し、必要に応じて値を引き出すことができると考えていました。私が間違っているかどうかはわかりません。みんなありがとう。
編集 だから私はjsonを調整しました、そしてそれはこのようになります
adults 2
applicants[] {firstname:"John", lastname:"Doe", age:"23", allergies:"true", diabetic:"true", lactose:"false", note:"nuts"}
applicants[] {firstname:"Jane", lastname:"Doe", age:"23", allergies:"false", diabetic:"false", lactose:"false", note:""}
attendees 2
children 0
今でもエラーが表示されます
**Message: json_decode() expects parameter 1 to be string, array given**
何か案は ?
編集2
わかりましたデータはこのようになりました
adults 1
applicants[] {"firstname": "John", "lastname": "Doe", "age": "34", "allergies": "true", "diabetic": "true", "lactose": "false", "note": "nuts"}
attendees 1
children 0
コントローラーIDでこれを行いました
$applications = $this->input->post('applicants');
foreach ( $applications as $item)
{
$item = json_decode($item, true);
$this->output->append_output(print_r($item));
}
これはそのロジックの結果です
Array
(
[firstname] => John
[lastname] => Doe
[age] => 34
[allergies] => true
[diabetic] => true
[lactose] => false
[note] => nuts
)
データにアクセスするために何をしても、そのようにアクセスできないというエラーが表示されます。値を引き出すにはどうすればよいですか?