####index.html#####
<form id=
"pay"
name=
"payform"
>
<input type=
"hidden"
id=
"custom_data"
>
<table width=
"1160"
border=
"0"
cellspacing=
"1"
cellpadding=
"1"
style=
"table-layout:fixed;"
>
<tr>
<td align=
"center"
>
<button type=
"button"
onclick=
"pay()"
class
=
"button black"
>
<span
class
=
"icon-search"
></span>
</button>
</td>
</tr>
</table>
</form>
<script>
var
pay_data =
new
Object();
var
get_custom =
new
Object();
pay_data.method =
"card"
;
pay_data.mid =
"mid_1234"
;
get_custom.product_name =
"trhy54h5.kr"
;
get_custom.product_domain_type =
"0"
;
get_custom.product_name =
"KR"
;
pay_data.get_custom= [];
pay_data.get_custom.push(get_custom);
var
pay_data1 = JSON.stringify(pay_data);
$(
'#custom_data'
).append(
"<input type='hidden' name='pay_data' value='"
+pay_data1+
"'>"
);
document.payform.method =
"post"
;
document.payform.target =
"_self"
;
document.payform.action=
"./pay_process.php/"
;
document.payform.submit();
</script>
###########pay_process.php############
$cleanData
= json_decode(
$_POST
[
'pay_data'
], true);
var_dump(
$cleanData
);
일단 2차열 obj형태로 값을 만듭니다. (변수 pay_data)
그걸 JSON.stringify형태로 변환시킨다음에 (변수 pay_data1 )
POST방식으로 submit 처리 하는 과정입니다.
만약 저방식을 AJAX로 하면 php서버단에 json_decode로 하면 잘 나오는데 (php 변수 $cleanData)
왜 submit() 처리해서 php서버단에 json_decode로 하면 null값으로 나오는건가요?