Ajax-ответ возвращается и пустая строка и HTML-тег комментария перед JSON - PullRequest
0 голосов
/ 11 апреля 2019

Я отправляю запрос ajax и ожидаю ответа json. Но в моем ответе у меня пустая строка и тег html comments (<!-- -->). Как я могу удалить эту ненужную пустую строку и символы?

P.S .: Это происходит, когда я размещаю сайт в сети.

$.ajax({
    url: "edit_row.php",
    method: "post",
    data: {id:id},
    success: function(data){
        alert(data);
    }
});

PHP:

<?php
    $id = $_POST['id'];
    $data = array();
    -----
    sql query
    ------
    while($query = mysqli_fetch_assoc($sql)){
        $data[] = $query;
    }
    print json_encode($data);
>?

Я ожидаю, что результат будет примерно таким:

[{"id":"1", "asd":"dsa",...}]

Но я получаю:


<!-- -->[{"id":"1", "asd":"dsa",...}]

Ответы [ 3 ]

0 голосов
/ 11 апреля 2019

Я не уверен, в чем ваша проблема, но важно всегда оборачивать ваш php/code скрипт вокруг оператора try и catch , чтобы получить php ошибки и предупреждения, если они есть, в вашем случаеНапример,

<?php

try {
  $id = $_POST['id'];
  $data = array();
  -----
  sql query
  ------
  while($query = mysqli_fetch_assoc($sql)){
      $data[] = $query;
  }
  print_r(json_encode($data));
}

catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
}
?>

Я также изменил закрывающий тег php с >? на ?>, хотя я не уверен, что это является причиной проблемы.Также изменено print на print_r , что лучше для удобочитаемости массивов и объектов.

0 голосов
/ 11 апреля 2019

Вы должны проверить все файлы, включенные в edit_row.php файл, и убедиться, что <!-- --> не отображается.

Тем не менее, вы можете столкнуться с проблемой, можете ли вы предоставить edit_row.php код.

0 голосов
/ 11 апреля 2019

если вы вообще отправляете var id и возвращаете пустое значение, то при успешном вызове ajax измените код. Это временное решение, но вам следует еще раз пересмотреть код в HTML.

$.ajax({
    url: "edit_row.php",
    method: "post",
    data: {id:id},
    success: function(data){
        data=data.replace("<!--","");
        data=data.replace("-->","");
        alert(data);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...