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}

}}

키값에 있던 .은 사라졌으나 각 데이터들이 살아있는 것을 볼 수 있다.

반응형