複数の入力の値とIDをオブジェクトにコンパイルし、それらをAJAX関数に渡す単純な関数があります。残念ながら、正しく投稿するためのデータを取得できません。処理ページは確実に呼び出され、変数はjsに到達します(オブジェクトはコンソールで正しく表示されます)が、処理ページではすべての変数が空白になっているようです。
スクリプト:
$("#" + buttonId).find(".submitValue").each(function() {
inputId = $(this).attr("id").replace(buttonId + "-", "");
inputValue = $(this).val();
var data = {};
data[inputId] = inputValue;
dataObject.push(data);
});
$.post(
'ajax/' + buttonId + '.php',
{
'nextForm': formNumber,
dataObject: dataObject
},
function (response) {
$("#" + buttonId).append(response);
}
);
関連するphp処理ページ(これよりも多くの変数がありますが、すべて同じように見えます-この例のIDは "timeBlockLocation"、 "appointmentAddress1"、 "appointmentAddress2"です)-接続が作成されました
$nextForm = $connection->real_escape_string($_POST["nextForm"]);
$timeBlockLocation = $connection->real_escape_string($_POST["timeBlockLocation"]);
$appointmentAddress1 = $connection->real_escape_string($_POST["appointmentAddress1"]);
$appointmentAddress2 = $connection->real_escape_string($_POST["appointmentAddress2"]);
$_POSTの処理ページのvar_dumpは次のとおりです。
array(2) {
["nextForm"]=>
string(1) "6"
["dataObject"]=>
array(3) {
[0]=>
array(1) {
["timeBlockLocation"]=>
string(1) "1"
}
[1]=>
array(1) {
["appointmentAddress1"]=>
string(4) "TEST"
}
[2]=>
array(1) {
["appointmentAddress1"]=>
string(5) "TEST2"
}
}
}