Я сейчас создаю мобильное приложение. Я использую cakephp2.0 в качестве бэкэнда для обработки запроса и ответа. Я бы хотел, чтобы cakephp обработал запрос и отправил ответ json обратно в мобильное приложение (приложение craft).
(1) Для контроллера пользователя я сделал это:
public function index() {
$this->autoRender = false;
return new CakeResponse(array('body' => json_encode($this->User->find('all'))));
}
(2) AppController я сделал это:
var $components = array('RequestHandler');
function beforeFilter() {
if ( $this->RequestHandler->isAjax() ) {
Configure::write ( 'debug', 0 );
}
}
(3) Я создал отдельный html-файл, которого нет в папке cakePHP для проверки ответа json:
<body>
<a href="">jQuery</a>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "get",
url: "http://localhost/jungle/users",
success: function(response){
alert(response);
}
});
});
</script>
</body>
Я не получаю никакого ответа от бэкэнда cakephp, когда открываю html-файл, упомянутый в (3). Я попытался использовать firebug, но ответа тоже не было.
Однако, когда я попытался получить доступ к индексной странице пользователей CakePHP из моего браузера, json отображался хорошо:
[{"User":{"id":"1","name":"John","mobile_code":"+65","mobile number":"901111234"}}]
Может ли кто-нибудь мне помочь?