PHP
php) input->post()를 할때 key값이 "0"으로 자동 변경될 경우
develyuper
2021. 8. 6. 18:27
반응형
전달데이터 sample
{"field":{
"A.NAME": {'field':"A.NAME", 'val':1},
"B.TYPE": {'field':"B.TYPE", 'val':2}
}}
ajax로 위의 sample 데이터를 전달할때 key값에 .이 있으면 controller에서 문제가 있다.
controller에서 전달데이터를 보면
$q = $this->input->post();
{"field":{
"0": {'field':"B.TYPE", 'val':2}
}}
key값에 .이 붙어있으면 php기본 보안설정으로 자동으로 키를 "0"으로 변경한다.
+ key값들중 여러개에 .이 붙어있을 경우 하나의 값만 전달해준다.(키들이 모두 "0"으로 변경되었기 때문)
[해결법]
$q = $this->input->input_stream();
{"field":{
"ANAME": {'field':"A.NAME", 'val':1},
"BTYPE": {'field':"B.TYPE", 'val':2}
}}
키값에 있던 .은 사라졌으나 각 데이터들이 살아있는 것을 볼 수 있다.
반응형