AJAX를 사용하여 페이지의 폼 입력을 PHP 함수로 보내고 다차원 배열에 데이터를 저장하려고합니다. 페이지 리로드가 없어야하며 응답은 단순한 true
또는 false
일 수 있습니다. Chrome 브라우저에서 JSON의 "Request Payload"요소에서 두 입력을 볼 수 있지만 PHP에서 데이터를 검색하고이 데이터를 배열로 변환하는 방법은 무엇입니까?AJAX에서 PHP로 폼 입력 보내기
HTML :
<div id="formEditBilling"><form>
<input name="register[personal][firstname]" type="text" id="firstname" value="" class="text required " placeholder="Firstname">
<input name="register[personal][lastname]" type="text" id="lastname" value="" class="text required " placeholder="Lastname">
<input type="buttom" id="editBilling" value="speichern"/></form></div>
자바 스크립트 :
<script type="text/javascript">
$('#editBilling').click(function() {
editBilling();
});
function editBilling(){
var url = '/checkout/saveAddress'; // Server Function
var data = $('#formEditBilling form').serializeArray();
data = JSON.stringify(data);
$.ajax({
'type': 'post',
'async': false,
'data': data,
'url': url,
'contentType': "application/json",
'dataType': "text",
'success': function (result, data) {
$('.output').html(data); // Output Div
}
});
}
</script>
여기 내 문제입니다.
['register'] => Array
(
['personal'] => Array
(
['firstname'] => "Michael"
['lastname'] => "Cooper"
)
PHP : 어떻게 같은 배열을 얻을 수 있습니다 여기 내 시도하지만 그것이 작동하지 않습니다, $_POST
는 비어있는 것으로 보인다.
public function saveAddressAction(){
$data = json_decode(stripslashes($_POST['register']));
return true;
}
입력시 입력 유형이 잘못되었습니다. "buttom"은 "button"이어야합니다. 그리고 아마도 jquery - jquery-form (http://malsup.com/jquery/form/) –