в качестве ссылки в будущем мой ответ в более чем одной строке комментария:
В Fetch. php переменная $ data будет существовать только в случае, если будет найден один или несколько ответов. в противном случае переменная $ data по-прежнему отсутствует в последней строке: json_encode ($ data); Включите ли вы свой error_reporting, он выдаст вам сообщение о «undefined var data on line X».
PHP простит вас, и предположим, что $ data имеет значение NULL; Таким образом, вы получаете форму json_encoded или NULL.
Итак, если вы поместите в верхнюю часть вашего Fetch. php, он всегда будет существовать и будет пустым или заполненным массивом.
Это будет избегайте ошибки в Javascript, где вы не можете прочитать длину NULL. Однако пустой массив имеет длину = 0.