Mam metodę kontrolera, która od dawna obsługuje żądania JSON przez analizowanie tego rozszerzenia, ale teraz muszę otworzyć go do domeny krzyżowej ajax, więc chciałbym zaoferować wariant JSONP, analizując to również rozszerzenie. Ja już aktualizowany mój routes.php
plik:CakePHP, rozszerzenia i układy
Router::parseExtensions('json', 'jsonp');
Jak dotąd wszystko jest dobrze, ale szczęście kończy się, gdy wyniki są renderowane. Chociaż rozszerzenie .json
automagicznie odbiera układ json/default.ctp
, zawartość .jsonp
nadal przyjmuje niespecyficzny układ domyślny (i całą jego niepotrzebną treść HTML). Próbowałem użyć RequestHandler::setContent()
, aby ustawić typ zawartości odpowiedzi zarówno na json
i js
, ale wydaje się, że to nie jest to, co wyzwala wywołanie do danego katalogu układu.
Czy ktoś wie, co decyduje o tym, który konkretny katalog układu nazywa się? Próbowałem tworzyć jsonp/default.ctp
i próbowałem utworzyć układ js/default.ctp
z moim wynikiem JSONP, ale nic nie wydaje się angażować. Właśnie dostaję normalne domyślne.
Dowolny wgląd w to, jak rozszerzenia/typ zawartości są mapowane do tych katalogów układu, byłby bardzo doceniany.