PHP литий (li3), как настроить автоматический ответ с JSON - PullRequest
2 голосов
/ 18 марта 2012

У меня литиевое приложение настроено таким образом, поэтому, когда используется

return($data) 

, его можно использовать в виде лития view.html.php как

echo $data

илиесли заголовок запроса "accept" равен "json / javacript", он автоматически возвращает что-то вроде

{
data: { a:'b' }
}

.

К сожалению, в новом приложении, которое я создал в качестве тестового приложения, поток непроисходит (и всегда возвращается только HTML).

После небольшого исследования кажется, что это должно быть сделано автоматически, если я раскомментирую

require __DIR__ . '/bootstrap/media.php';

внутри bootstrap.php Но этоне работает, у меня все еще есть возвращенный HTML.Я скачал последнюю версию литиевого каркаса (я скачал это может быть 1 или 2 месяца назад)

Кто-нибудь знает, требует ли какой-либо настройки автоматического ответа с JSON или нет?

Ответы [ 2 ]

2 голосов
/ 18 марта 2012

Также можно установить тип в $ this-> request-> acceptpts () при вызове render ().

return $this->render(array('type' => $this->request->accepts()));
2 голосов
/ 18 марта 2012

взято из http://dev.lithify.me/lithium/tickets/view/353

, которое затем взято из литиевых документов

Чтобы включить автоматическое согласование типа контента (т. Е. Определение типа контента ответа на основе значенияHTTP Accept header), установите флаг «переговоры» в true.В противном случае ответ будет основан только на параметре типа объекта запроса (по умолчанию «html», если в параметрах запроса нет типа)

http://li3.me/docs/lithium/action/Controller::$_render

Если вам нужноподробнее о том, как это сделать, оставить комментарий.

...