Как я могу передать значение массива PHP в Ajax jQuery?

Я получаю значение statusText: OK, но не могу получить значения объекта PHP или массива. https://paste.fedoraproject.org/paste/1-HWWEJKvSbCYKUkoGHytA

У меня Fedora 30 с 2.4.39 HTTPd, PHP 7.6, MySQL: 10.3.12. Я использую последнюю версию jQuery. Я установил его в свой файл PHP:

header('Content-type: application/json');
$.ajax({
  url: 'get.php',
  type: 'post',
  })
  .done(function(a) {
    $("#workSpace").html(a); 
    alert(a)
    $.each(a, function( key, value ) {
      $("#workSpace").html(key + ": " + value);
    });
   })
   .fail(function(a) {
        $("#workSpace").html(a); 
   })
   .always(function(a) {
        var example = Object.keys(a)

        $.each(example, function( key, value ) {
       $("#workSpace").html(key + ": " + value);
    });
    });
});

Я ожидал, что работа с объектами или массивом, переданным PHP, будет выглядеть следующим образом.

{id:1, name: hola, description: That's an example}
{id:2, name: hello, description: That's nice}
{id:3, name: welcome, description: That's so way}

Однако, я только получаю statusText: OK

0
задан sincorchetes 26 June 2019 в 20:27
поделиться

2 ответа

Вы попробовали что-то вроде этого:

$array = array();
while ($getResults = $stmt->fetch_array())
{
    $array[] = $getResults;
}

echo json_encode($array);

и добавили тип контента по запросу $ .ajax:

  $.ajax({
    url: 'get.php',
    type: 'post',
    dataType: "json"
  })
          .done(function (a) {

            $("#workSpace").html(a);
            alert(a)
            $.each(a, function (key, value) {
              $("#workSpace").html(key + ": " + value);
            });
          })
          .fail(function (a) {
            $("#workSpace").html(a);
          })
          .always(function (a) {
            var example = Object.keys(a)

            $.each(example, function (key, value) {
              $("#workSpace").html(key + ": " + value);
            });
          });
0
ответ дан Renziito 26 June 2019 в 20:27
поделиться

у Вас не будет многих ответов от Вашего PHP в одном запросе сделанными, попытаться собрать все данные, полученные от Вашего дб в переменной. Измените свой код php следующим образом.

header('Content-type: application/json');
$conn = new mysqli('localhost','root','example','tasks');
$stmt = $conn->query("SELECT * FROM task")->fetch_array();
$array = array();
while ($getResults = $stmt->fetch_array())
{
    $array[] = $getResults;
}

/* free result set */
mysqli_free_result($getResults);

/* close connection */
mysqli_close($conn);

echo json_encode($getResults);

Отношения

0
ответ дан Daniel Luna 26 June 2019 в 20:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: