Я использую WordPress вместе с плагином JSON API (http://wordpress.org/extend/plugins/json-api/) для генерации ответов на наш другой сайт.
Я столкнулся с действительно странной проблемой (мы используем PHP 5.3.6), когда я передаю следующий массив http://pastebin.com/xdfYjrvK в json_encode (), он дает мне это (с типом содержимого json): http://pastebin.com/T61XGPP5
Так что хрень в начале, в примере выше это2609 и 0, в конце концов, он меняется в зависимости от размера ответа, больше содержимого -> более высокое шестнадцатеричное число. Он также появляется только тогда, когда объем ответа "достаточно высок", поэтому он работает с небольшими ответами.
Сначала я подумал, что это плагин, но он работает локально (на двух разных компьютерах Mac OS X), и мы обновили все пакеты на VPS (Debian, Apache, Nginx, PHP) до последних версий.
Отображается только при отправке типа содержимого, а не при выводе результата $ в виде простого текста вместо application / json:
$charset = get_option('blog_charset');
if (!headers_sent()) {
header('HTTP/1.1 200 OK', true);
header("Content-Type: application/json; charset=$charset", true);
}
echo $result;
$ charset установлен в utf-8.
Консоль Google Chrome сообщает: «Resource интерпретируется как Document, но передается с приложением MIME типа / json. "
Итак, кто-нибудь знает, что здесь происходит?