我想使用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>
的JavaScript:
<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”应该是“按钮”。也许你可以看看有用的插件jQuery的 - jquery-form(http://malsup.com/jquery/form/) –