2016-04-02 2 views
0

Я работаю с CakePHP, и я хотел бы получить некоторый контент в моей базе данных с помощью AJAX. Я работал над PHP-кодом и, похоже, работает ... Однако вызов ajax не работает ... Он возвращает мне «нуль» вместо json-контента.Функция AJAX возвращает значение

Вот мой код:

<a onclick="updateResult()">TEST</a> 

<div id="test"></div> 


<script type="text/javascript"> 
    function updateResult(){ 
     $.ajax({ 
      url: '/regions/articles/viewresult', 
      data : { 
       category_id : "35" 
      }, 
      dataType : 'json', 
      success : function(html, textStatus) { 
       alert('Success ' + textStatus + html); 
      }, 
      error : function(xhr, textStatus, errorThrown) { 
       alert('Error ! ' + errorThrown); 
      } 
     }); 
    } 
</script> 

Кстати,/регионы/статьи/ViewResult возвращается

[{"id":1,"title":"regionacal","body":"regionacaltest","category_id":35,"created":"2016-04-02T22:44:21+0000","modified":"2016-04-02T22:44:21+0000"}] 

Но функция успеха в моей JS возвращает меня "нулевой" ...

Знаете ли вы, почему?

+0

Под «возвращением» вы имеете в виду «показать в предупреждении»? Потому что нет полезного места (по выходному) для 'return' в этом коде. – user2864740

+0

Да «возвращение» в предупреждении. Он показывает «Успех успеха null». – FabriceDouceur

+0

Как подтверждается, что ответ показал, что сервер возвращается? – user2864740

ответ

0

Сделайте Ваш запрос на: /regions/articles/viewresult.json

И убедитесь, что вы вернуть JSON правильно из метода контроллера.

Сериализовать ответ просмотреть переменную.

$this->set('_serialize', ['response']); 

Для сериализации всех доступных переменного вида

$this->set('_serialize', true); 

Также убедитесь, что ваш routes.php имеет расширение JSon включен.

$routes->extensions(['json']); 
Смежные вопросы