1

.postjqueryで渡された配列変数の値をphpページに取得する方法に関して問題があります

これは私のjqueryコードです:

minDate = [];
hoursWork = [];
empId = [];
        $('.minDate').each(function() { 
            minDate.push($(this).val());
        });

        $('.hoursWork').each(function() { 
            hoursWork.push($(this).val());
        });

        $('.empId').each(function() { 
            empId.push($(this).val());
        });

            $.post('rtInsert.php', { minDate: minDate, hoursWork: hoursWork, empId: empId }, function(data) { 
        alert(data);
    });

渡されたデータを自分で取得するにはどうすればよいですかrtInsert.php

私は試した

$minDate = $_POST['minDate'];
$empId = $_POST['empId'];
$workHours = $_POST['hoursWork'];

3つの変数はすべて配列であるため、配列の個々の値を取得するにはどうすればよいですか

私が知っているのは、使用している単一の配列foreach()ですが、3つの配列が渡された場合はどうなりますか

どうすればそれを取得できるか、または単一の配列に渡す方法はありますか?

前もって感謝します。

4

1 に答える 1

3

を使用JSON.stringify(data);して JSON に変換し、サーバー側で次のように実行できます。$data = json_decode($json);.

コードは次のようになります。

var minDate = [];
var hoursWork = [];
var empId = [];
$('.minDate').each(function() { 
    minDate.push($(this).val());
});

$('.hoursWork').each(function() { 
    hoursWork.push($(this).val());
});

$('.empId').each(function() { 
    empId.push($(this).val());
});

$.post('rtInsert.php', { minDate: JSON.stringify(minDate), hoursWork: JSON.stringify(hoursWork), empId: JSON.stringify(empId) }, function(data) { 
    alert(data);
});

そしてあなたのサーバー側のコード:

<?php
$mindate = json_decode($_POST['minDate']);
$hourswork = json_decode($_POST['hoursWork']);
$empid = json_decode($_POST['empId']);
foreach($mindate as $k=>$val)
{
    $date = $val;
    $work =$hourswork[$k];
    $id =$empid[$k];
    //...
}
?>
于 2013-01-14T07:43:27.037 に答える