Как мы отправляем массив, содержащий текст из http-запроса xml в PHP, используя mysqli? - PullRequest
0 голосов
/ 10 апреля 2019

Это код, который готовит мой массив, он будет отправлен как параметр функции, которая обрабатывает мой 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'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...