И в Postman, и в JQuery я получаю ответы в форме
{"key1": "value1", "key2": "value2"}null
Этот завершающий ноль мешает всему, что пытается разобрать его на стороне клиента, и я не могу понять, откуда он. Если я error_log
закодированный JSON перед echo
В нём нет завершающего нуля, поэтому я предполагаю, что это терминатор строки, но я не думал, что PHP использует строки с нулевым символом в конце. Как мне избавиться от этих нулей?
Кодируемый и возвращаемый объект:
public function jsonSerialize()
{
return [
'internal_id' => $this->internal_id, //int
'friendly_name' => $this->friendly_name, //string
'external_id' => $this->external_id, //string
'picture' => $this->picture //string
];
}
Фактическое возвращение просто echo(json_encode($retval));
После того, как файл PHP был выполнен, вы должны выйти вручную или вернуться вместо эхо, в противном случае он вернется NULL
неявно и все испортить. Урок выучен.
Других решений пока нет …