Переменная POST всегда остается пустой - PullRequest
0 голосов
/ 11 ноября 2018

Это метод, в котором я управляю отправкой данных с помощью jquery.ajax. По умолчанию отправляется пустая строка, и при каждом изменении я наблюдаю изменение на входе и отправляю его повторно. Через консоль все хорошо, но в php $this->searchField всегда есть значение пустой строки

function checkInfo(){
        if(isset($_POST['searchField'])){
            $this->searchField = json_decode($_POST['searchField']);

                if ($this->searchField != ""){
                    $this->query = "SELECT * FROM myguests WHERE firstName like '%".$searchField."%'";
                }
                else if ($this->searchField == "") {
                    $this->query = "SELECT * FROM myguests ORDER BY id";
                }
                $this->tableDisplay();
                exit();
            }
            else{
                return "error";
            }
        }

Это моя функция jquery ajax:

function searchGuests(users){
  var data = {
    "searchField": users
  };
  console.log(data);
  $.ajax({
      type: "POST",
      dataType: "text",
      url: "controllers/manageTable.php",
      data: data
    })
    .done(function(tr) {
      $("#tableBody").empty();
      $("#tableBody").append(tr);
    })
    .fail(function(error){
      console.log(error);
    });
};

Есть идеи, что мне не хватает?

1 Ответ

0 голосов
/ 11 ноября 2018

Попробуйте закодировать пользователей в строку перед отправкой.

function searchGuests(users){
  var data = {
    "searchField": JSON.stringify(users);
  };
  console.log(data);
  $.ajax({
      type: "POST",
      dataType: "text",
      url: "controllers/manageTable.php",
      data: data
    })
    .done(function(tr) {
      $("#tableBody").empty();
      $("#tableBody").append(tr);
    })
    .fail(function(error){
      console.log(error);
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...