я новичок в торте php 3.4, и я пытаюсь создать пример с запросом ajax и данными, вот мой контроллер:
public function getdata(){
if ($this->request->is('ajax')) {
$cc = array(
array('nome'=>'parvez', 'cognome'=>'AA', 'email'=>'101'),
array('nome'=>'alam', 'cognome'=>'1BB', 'email'=>'102'),
array('nome'=>'phpflow', 'cognome'=>'CC', 'email'=>'103') );
$x = array(
"draw" => 1,
"recordsTotal" => count($cc),
"recordsFiltered" => count($cc),
"data" => $cc
);
echo json_encode($x);
} }
тогда вот код che js
<script type="text/javascript">
function myfunc(){
$('#example').DataTable( {
'processing': true,
'serverSide': true,
'ajax':{
type: 'POST',
url: "<?php echo Cake\Routing\Router::url(
array(
'controller'=>'posts',
'action'=>'getdata',
'_ext'=>'json',
'_full' => true //for full url path
));?>",
success:function(msg){
console.log(msg);
},
error: function(e) {
alert("An error occurred: ");
console.log(e);
}
}
} );
}
the action is correctly sent but i always get a message error, in which, in google chrome dev tools, i see a 'null' appended after the data:
{"draw":1,"recordsTotal":3,"recordsFiltered":3,"data":[{"nome":"parvez","cognome":"AA","email":"101"},{"nome":"alam","cognome":"1BB","email":"102"},{"nome":"phpflow","cognome":"CC","email":"103"}]}null
я пытался не json_encode ответ действия и в хроме я вижу этот материал после массива данных:
App\Controller\PostsController::getdata() - APP/Controller\PostsController.php, строка 147 Cake\Controller\Controller::invokeAction() - CORE\src\Controller\Controller.php, строка 440 Cake\Http\ActionDispatcher: :_invoke() - CORE\src\Http\ActionDispatcher.php, строка 119 Cake\Http\ActionDispatcher::dispatch() - CORE\src\Http\ActionDispatcher.php, строка 93 Cake\Routing\Dispatcher::dispatch() - CORE\src\Routing\Dispatcher.php, строка 60 [основная] - ROOT\webroot\index.php, строка 37Arraynull
Итак, проблема возникает со страницей index.php, но какого черта она возвращает нулевой массив? Благодарность
index.php
, это просто начало трассировки стека, очевидно, на стороне сервера происходит ошибка/исключение. Пожалуйста, проверьте свои журналы и добавьте в свой вопрос полное сообщение об ошибке, включая соответствующую трассировку стека. Также взгляните на stackoverflow.com/q/42378793/1392379, действия контроллера не должен отображать данные! - person ndm   schedule 18.06.2017