Я пишу AJAX приложения и имеют функцию в PHP скрипт:json_encode положить пустой массив на конце JSON
public function expire_user() {
$r=array("return"=>'OK');
echo json_encode($r);
}
, который вызывается с этим JavaScript:
$.getJSON("https://stackoverflow.com/users/expire_user",function(data){
alert('success');
});
проблема в том, что предупреждение никогда не отображается. Я думаю, что это связанно с json_encode возвращения недопустимого JSON, потому что, когда я иду по прямой ссылке, он отображает
{"return":"OK"}[]
, который не является допустимым JSON из-за дополнительный «[]» на конце. Почему json_encode помещает пустой массив в конец и как мне избавиться от него, чтобы я мог получить действительный json?
Можем ли мы видеть, как 'expire_user' вызывается из' GET/users/expire_user'? Уверен, что это сработает, если вы сразу же убьете скрипт: 'die (json_encode ($ r));' – Sam
Возможный дубликат [Почему я получаю дополнительный элемент в конце в JSON?] (Http: // stackoverflow. com/questions/7535724/why-do-i-get-an-extra-element-at-the-end-in-json) – JakeGould
не думаю, что это дубликат, потому что комментарий Сэма работал на меня, и это не было в другой ответ. @Sam отправьте свой код в качестве ответа, и я соглашусь с ним. – Cbas