我有這個在我的路線文件:CakePHP的(2.4)航線JSON
CakePlugin::routes();
Router::mapResources('api');
Router::parseExtensions('json');
目前,如果我把控制器我有以.json API進行擴展,只要它是一個HTTP GET(未發表)它輸出的json很好,不管方法/函數名稱如何,只要它存在於我的Api控制器中。
如果我發表了一篇文章,雖然我可以解碼發佈的JSON無論函數/我調用的方法,它錯誤說我錯過了xxx.ctp在應用程序/ Api/Views/json/ xxx.ctp =我調用過的任何函數的名稱。
2問題/問題。
理想情況下,我想要解析任何對Api控制器的請求作爲json,但不必在url中指定.json擴展名。
其次,如何/爲什麼不能像HTTP GET那樣輸出json,我需要映射別的東西嗎?
非常感謝
您的期望是有缺陷的。輸出應始終對應於文件類型/擴展名。因此,您總是需要JSON擴展來獲取JSON響應。如果你使用xml,你會得到XML,如果你沒有使用擴展名,你會得到HTTP。這就是它應該如何工作的。不是你所期望的。參見[AJAX和CakePHP](http://www.dereuromark.de/2014/01/09/ajax-and-cakephp/)。如果您只需要JSON,請確保所有其他錯誤(4xx)正確。 – mark