Php 在zend框架中使用ajax输出json和过滤器,以使数据表正常工作
我试图在Zend Framework 1中实现jQuery数据表。我在控制器中设置了以下操作:Php 在zend框架中使用ajax输出json和过滤器,以使数据表正常工作,php,jquery,ajax,Php,Jquery,Ajax,我试图在Zend Framework 1中实现jQuery数据表。我在控制器中设置了以下操作: public function getlistusersajaxAction() { $users = new Admin_Model_DbTable_User(); $param = $this->_request->getParam('filter','all'); $userLoggin = $this->_sessionUser->getIden
public function getlistusersajaxAction()
{
$users = new Admin_Model_DbTable_User();
$param = $this->_request->getParam('filter','all');
$userLoggin = $this->_sessionUser->getIdentity();$results = ($param === 'all') ? $users->fetchAll()->toArray() : $users->fetchAll($users->select()->where('rankUser = ?', $param))->toArray();$json=Zend_Json::encode($results);
return $json;
以及index.phtml中的以下代码:
<script type="text/javascript">
$(document).ready(function() {
var table = $('#table-user').dataTable({
'info': false,
'ajax': '/<?=Zend_Registry::get('Zend_Locale')->getLanguage();?>/admin/UserManagement/getlistusersajax/filter/',
'sDom': 'lTfr<"clearfix">tip
});
$(文档).ready(函数(){
变量表=$('#表用户')。数据表({
“信息”:错误,
“ajax':'//admin/UserManagement/getlistusersajax/filter/”,
“sDom”:“lTfrtip”
});
问题是我有以下错误:
DataTables警告:表id=表用户-Ajax错误
它显示为加载,但不提供任何输出。如何解决此问题?请提前感谢在返回
json\u encode
数据时,您需要遵循一些步骤
- 确保检索到的数据和列
应相等count
- 确保在
表中声明
id
数据库
结果的示例
$output = array(
'sEcho' => intval($sEcho),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => array()
);
在Jquery中,需要声明列
,以显示如下数据
$(document).ready(function() {
$('#table-user').dataTable({
'ajax':'yoururl',
// Some stuff
"aoColumns": [
{ "mData": "columnname" },
{ "mData": "columnname" },
------ ]
}); });
如果您使用的是服务器端
处理,则可以使用“sAjaxSource”
而不是ajax
。它还将处理请求。有关datatable参数的更多详细信息,请查看此
下面是使用PHP的示例
这不是我对您问题的回答。此信息有助于您解决问题。谢谢!您是否在html
表id中声明了表用户
。?是的
提前感谢OK很好。您是否检查了json
数据列并在jquery列中声明以显示数据。我是新手关于dataTables,但我不太了解,所以下面我的代码感谢advancei我是dataTables的新手,如果你能给我代码上的示例谢谢advancei我已经在我的答案中给出了示例链接。检查一下。我知道了,但我不在php上简单我在zend framework MVC上工作,我需要与我的代码相近的东西Zen中也很简单d、 首先,您需要以正确的格式获取数据,如我给定的$output=array(…)
。然后您需要执行json\u encode
,然后在jquery
中声明列
。没什么复杂的。只需按照步骤操作即可。您会实现的!我这样做$(document)。就绪(function(){var table=$(“#table user”).dataTable({'info':false,'ajax':“//admin/UserManagement/getlistusersajax/filter/”,'sDom':'lTfrtip'
但是在路径中找不到错误脚本'user management/getlistusersajax.phtml'。我不知道如何解决这个问题