Итак, я пытаюсь создать мобильное приложение для Android, и я использую CakePHP в качестве моего сервера. Мне не понадобятся какие-либо HTML-представления, я буду отвечать только объектами JSON.Как проверить вывод данных JSON в CakePHP?
Я принял взглянуть на http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html#RequestHandlerComponent и что я создал это:
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
public $components = array('RequestHandler');
function index()
{
$locations = $this->Location->getNearest();
$this->set(compact('locations'));
$this->set('_serialize', array('locations'));
}
}
и я добавил это к моему routes.php
: не отображается
Router::mapResources('locations');
Router::parseExtensions('json');
Ничего, когда я запускаю это кроме стиля макета CakePHP по умолчанию. Если я удалю файл представления index.ctp, я получаю сообщение об ошибке, что он не может найти файл вида. Зачем нужен файл вида? Я думал, что с сериализованным подходом он не нуждается в представлении. Я попытался посмотреть в консоли разработчика Google Chrome, и нет ответа, который содержит объект JSON. Однако MySQL отлично справился.
Ошибка: ошибка синтаксиса, неожиданный '$ это' (T_VARIABLE), ожидая функции (T_FUNCTION). В любом случае, это просто уничтожит весь вывод в браузере. Я не смогу проверить или увидеть мои данные JSON, если я использую render (false). –
О, чертовы. Да, ты прав. Я подозревал, что это сделало бы эту работу, но это с данными JSON. Тогда я не могу вам помочь, извините. – JorickL
Спасибо тем же =). Я использовал public $ viewClass = 'Json'; и, похоже, он сделал трюк в конце браузера. Однако я не тестировал его на Android-конце. Я просто беспокоюсь о том, как Android получит данные. Я не хочу, чтобы он получал содержимое html, css или javascript. –