제목 | 자바스크립트 배열 형태로 AJAX 형태로 PHP 서버에 넘기면 값은 전달되는데 이상한 문자가 추가되어 가네요 ㅠ,ㅠ | ||
---|---|---|---|
글쓴이 | amkorjavas | 작성시각 | 2016/06/05 15:16:40 |
|
|||
<javascript> var field_setting_val = [333, 4444]; $.post('/field_setting_val/'+encodeURIComponent(field_setting_val), function(datas) { },"json"); <php> $field_setting_val = get_seg("field_setting_val"); var_dump($field_setting_val); // "333%2C4444" 이렇게 %2C 중간에 추가 되면서 출력됩니다 ㅠ,ㅠ
확인해보시면 %2C 배열값 사이에 이렇게 문장 추가 되면서 출력되는데요.
이것을 방지 할려면 어떻게 해야되나요? ㅠ,ㅠ |
|||
다음글 | ci file (4) | ||
이전글 | php,스크립트 고수님들 도와주세요!! (6) | ||
배강민
/
2016/06/05 16:02:08 /
추천
0
|
kaido
/
2016/06/07 09:42:53 /
추천
1
encode 를 하셨으면 decode도 하셔야...? $field_setting_val = urldecode($field_setting_val); var_dump( $field_setting_val);
|
기본적으로 javascrip에서 encodeURIComponent 안에 배열을 넣으면 공백으로 배열을 하나의 스트링으로 만드는듯합니다.
field_setting_val 를 배열로 받고 싶으신듯한데
방법이 있는지는 모르겠으나 그러면 segment로는 애매할듯하네요.
/field_setting_val[]/333/field_setting_val[]/444 이것도 안될듯하고,
/field_setting_val/333/444 로 넘기게해서 받아야하는데, 이러면 배열수가 얼마인지 모르고, 배열 뒤의 인자의 세크먼트를 잡기 어려울테고,
한다면 /field_setting_val/333,444 로 넘겨서 구분자로 쪼개서 사용하던가가 차라리 낫겠고,
json으로 encode해서 넘겨서 JSON.stringify([333,444]) 으로 넘기면, /field_setting_val/[333,444] 가 넘어갈테니 json_decode 해서 사용하던가,
그냥 고전적으로
?field_setting_val[]=333&field_setting_val[]=444 로 넘어가게 하는게 좋지 않을까싶네요.