Некоторое время, пока я не наткнулся на эту ошибку. Отправьте мой ответ всем, кто может наткнуться на эту проблему.
Ошибка означает только то, что вы отправляете пустой запрос POST. Эта ошибка обычно встречается в HTTPRequests без переданных параметров. Чтобы избежать этой ошибки, вы всегда можете добавить параметр к POST без изменения php.ini.
Нравится:
$.post(URL_HERE
,{addedvar : 'anycontent'}
,function(d){
doAnyHere(d);
}
,'json' //or 'html','text'
);
Пользуйтесь библиотекой. При попытке генерировать его вручную, я предсказываю с 99%-й уверенностью, что получающийся текст будет недопустим в некотором роде. Особенно с более тайными функциями как строки Unicode или экспоненциальное представление.
json_encode и json_decode методы работают отлично. Просто передайте их объект или массив, который Вы хотите закодировать, и он рекурсивно кодирует их к JSON.
Удостоверьтесь, что Вы даете его, UTF-8 закодировал данные!
Библиотека работала отлично для меня. FWIW я должен был сделать это на проекте с более ранней версией PHP, испытывающего недостаток в поддержке JSON. Функция ниже обработанного как предоставленная опасная версия "json_encode" для массивов строк.
function my_json_encode($row) {
$json = "{";
$keys = array_keys($row);
$i=1;
foreach ($keys as $key) {
if ($i>1) $json .= ',';
$json .= '"'.addslashes($key).'":"'.addslashes($row[$key]).'"';
$i++;
}
$json .= "}";
return $json;
}