こんにちは、jQuery ajax を使用して複数のデータを php ファイルに投稿したいのですが、関数を実行すると何も返されず、php もデータを取得しません。
私の関数は次のようになります。
function sendForm(){
jQuery.ajax({
url: <?php echo $path; //this the url where the php file is ?>,
type: 'POST',
data: {
addressOne: jQuery('#Form #table .key :input').serialize(),
addressTwo: jQuery('#Form #table_2 .key :input').serialize(),
additionalData: jQuery('#Form #More :input').serialize(),
preloaded: <?php echo serialize($array); ?>,
action: 'sendIt'
},
async: false,
cache: false,
success: function(data){
alert(data); //or console.log(data);
}
});
}
そしてphpで私はこのようなことをします:
<?php
function handleData() {
parse_str($_POST['addressOne'], $arrayOne);
parse_str($_POST['addressTwo'], $arrayTwo);
parse_str($_POST['additionalData'], $arrayThree);
$preloaded = unserialise($_POST['preloaded']);
//than do some stuf here for example print_r all...
}
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'sendIt' : handleData();
break;
//etc...
}
}
?>
私は何が間違っているのか分かりませんか?複数のデータを投稿するより良い方法はありますか?
フォーム全体をシリアル化し、シリアル化されたphp配列を投稿しないように1つのデータのみを使用すると、正常に動作しますが、この4つの個別のデータを使用したいと思います。