Это код, который готовит мой массив, он будет отправлен как параметр функции, которая обрабатывает мой HTTP-запрос.
for (var i in the_texts) {
if (the_texts[i]._status == "new") {
var instance_texts_object = {};
instance_texts_object._id = parseInt(the_texts[i]._id);
instance_texts_object._data = encodeURIComponent(the_texts[i]._data);
instance_texts_array.push(instance_texts_object);
}
}
the_texts.update_backend_text_instances_ajax(instance_texts_array);
Пример моей записи instance_texts_array выглядит следующим образом: 4: {_id: 3193, _data: "Click%20Me!"}
Моя функция Ajax выглядит следующим образом:
update_backend_text_instances_ajax: function(texts_array_) {
texts_array_ = JSON.stringify(texts_array_);
var file_address = "includes/update_backend_texts_intances.php";
var xhttp_request = new XMLHttpRequest();
xhttp_request.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var response = this.responseText;
document.getElementById('test_xml').innerHTML += "<br>" + "texts" + response;
};
};
xhttp_request.open("POST", file_address + "?text_array=" + texts_array_, false);
xhttp_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhttp_request.send();
}
Я использую метод POST.
Мой PHP-скрипт выглядит следующим образом:
<?php
include_once 'database.php';
$text_array = $_REQUEST["text_array"];
$text_array_entry = json_decode($text_array, true);
foreach($text_array_entry as $row) {
$statement = mysqli_query($connect,"INSERT INTO the_texts (id, user_id, data) VALUES('".$row['_id']."', 600, '".$row['_data']."');");
};
echo print_r($text_array_entry);
?>
Я думаю, что моя проблема в том, что мой PHP-скрипт не получает мою переменную text_array
.Отказ от ответственности: $connect
исходит от include_once 'database.php'