我使用CakePHP的形式创建表单。它是建立形式是这样的:
I am creating form using cakephp form. It is creating form something like this:
<form name='license' action='/some/action' action='POST'>
<input type="text" id="license0Number" name="data[license][0][number]">
<input type="text" id="license0Year" name="data[license][0][year]">
<input type="text" id="license1Number" name="data[license][1][number]">
<input type="text" id="license1Year" name="data[license][1][year]">
</form>
这是正常的形式提交表单和获取数据这样的事情时,工作正常:
It is working fine when submitting form in normal form and getting data something like this:
$data = array( 'license' => array( '0' => array( 'number'=>'123', 'year'=>'2000' ),
'1' => array( 'number'=>'321', 'year'=>'2003' )
);
但是,当我提交使用jQuery相同的形式 $。阿贾克斯()
与函数和发布数据序列化()
功能。我得到的数据是这样的服务器端。
But when I submit same form using jQuery $.ajax()
function and posting data with serialize()
function. I am getting data something like this on server side.
Array
(
[data%5Blicense%5D%5B0%5D%5Bnumber%5D] => 123
[data%5Blicense%5D%5B0%5D%5Byear%5D] => 2000
[data%5Blicense%5D%5B1%5D%5Bnumber%5D] => 321
[data%5Blicense%5D%5B1%5D%5Byear%5D] => 2003
)
usign jQuery的$。阿贾克斯()函数时,我怎样才能得到联想阵列形式的表单数据?
How can I get form data in form of associate arrays when usign jQuery $.ajax() function ?
编辑:
$('#license_form').live( 'submit', function( event ) {
var action = '/some/action';
var data = $(this).serialize();
$.ajax({
type: "POST",
url: action,
data: data, // form data
success: function( result ) { alert( result ); },
error: function() { alert('error'); }
});
event.preventDefault();
});
感谢
无需用户低级别的ajax,使用$。员额简写代替。
No need to user Low-Level ajax, use $.post shorthand instead.
试试这个:
$(function(){
$("#submit").click(function(){
//Since you're talking about POST
$.post('path_to_php_script.php', {
"license0Number" : $("#license0Number").val(),
"license0Year" : $("#license0Year").val(),
"license1Number" : $("#license1Number").val(),
"license1Year" : $("#license1Year").val()
}, function(respond){
//Respond from PHP
//Maybe replace some div with the server respond?
$("#some_div").html(respond); //optional
});
});
});
您问POST ASSOC阵列使用jQuery, 所以你会得到的是,
You asked for POST ASSOC ARRAY Using jquery, so you'll get that,
在你的PHP脚本:
<?php
print_r($_POST); //will print what you want