ajax не отправляет параметр в скрипт - PullRequest
1 голос
/ 28 мая 2020

Попытка заполнить таблицу данных с помощью ajax. Передача параметра следующим образом:

$('#submitDetails').on('click', function()
{
  let details = $('#searchDetails').val();

  $.ajax({
        url: 'api/searchDetailInfo.php',
        type: 'POST',
        data: details,
        dataType: 'html',
        success: function(data, textStatus, jqXHR){
          console.log(data); // <-- printing the return from the php script
          let jsonObject = JSON.parse(data);
          var table = $('#example1').DataTable({    
                "data": jsonObject,
                "columns": [
                        { "data": "COLUMN1" },              
                        { "data": "COLUMN2" },
                        { "data": "COLUMN3" }
                ],
                "iDisplayLength": 50,
                "order": [[ 1, "desc" ]],
                "paging": true,
                "scrollY": 550,
                "scrollX": true,
                "bDestroy": true,
                "stateSave": true,
                "sPaginationType":"full_numbers",
                "autoWidth": true
        },
        error: function(jqHHR, textStatus, errorThrown) {
            $('#loadingDiv').hide();
            $('#errorModal').modal('show');
            $('.message').text('There was an error conducting your search.');
            console.log('fail: '+ errorThrown);
            return false;
        }
});

Я перехожу к сценарию PHP, но сценарий не получает параметр.

<?php
  include("../include/database.php");

  if(isset($_POST['details']))
  {
    echo "good";
  }
  else
  {
    echo "bad";
  }
?>

Я получаю только "плохо" "в консоли. Я не уверен, почему параметр не отправляется в сценарий.

Как я могу это исправить?

1 Ответ

3 голосов
/ 28 мая 2020

Вам нужно изменить data: details, на data: {details:details},, присвоив переменной post идентификатор, что сделает $_POST['details'] действительным.

...