【发布时间】:2017-04-17 05:14:16
【问题描述】:
仅当我选择包含法语内容的列时才会收到此错误。可能是语言问题。我能做些什么来避免这个错误?
DataTables 警告:表 id=example - JSON 响应无效。有关此错误的更多信息,请参阅http://datatables.net/tn/1
$(document).ready(function() {
$('#example').DataTable({
"processing": true,
"serverSide": true,
/*"contentType": false,*/
"ajax": '<?=base_url()?>'+"posts/get_html_posts"
});
});
<table id="example" class=" ui table" cellspacing="0" width="100%">
<thead>
<tr>
<th>No</th>
<th>Category Name</th>
<th>Subcategoty Name</th>
<th>Title En</th>
<th>Title Fr</th>
<th>Is Draft</th>
<th>Edit</th>
<th>Delete</th>
<th>Website url</th>
</tr>
</thead>
</table>
控制器
public function get_html_posts()
{
require(APPPATH .'third_party/ssp.class.php' );
$table = 'posts';
$primaryKey = 'post_id';
$columns = array(
array('db' => 'post_id','dt' => 0),
array( 'db' => 'category_id', 'dt' => 1 ),
array( 'db' => 'subcategory_id', 'dt' => 2 ),
array('db'=>'title_en','dt'=>3),
array('db'=>'title_fr','dt'=>4),
array('db' => 'is_draft','dt' => 5,"formatter"=>function($d,$row) {
if($row['is_draft']==1)
return "<spna class='ui orange label'>Draft</span>";
else
return "<spna class='ui green label'>Published</span>";
}),
array('db' => 'post_id','dt'=>6,"formatter"=>function($d,$row) {
return "<a href='".base_url()."posts/edit/".$row['post_id']."' class='ui orange button padding-10'><i class='write icon margin-0'></i></a>";
}),
array('db'=>'post_id','dt'=>7,"formatter"=>function($d,$row) {
return "<a href='#' class='ui red button padding-10' onclick='return delete_record(this.id)' id='".$row['post_id']."'><i class='remove icon margin-0'></i></a>";
}),
array('db'=>'post_slug','dt'=>8,"formatter"=>function($d,$row)
{
$web_url = "http://localhost";
return "<a class='ui orange button padding-10' target='_blank' href=".$web_url.'category/'.str_replace('-','', $row['category_id']).'/'.$row['subcategory_id'].'/'.$row['post_id'].'/'.$row['post_slug']."><i class='expand icon margin-0'></i></a>";
})
);
$sql_details = array(
'user' => 'root',
'pass' => '',
'db' => 'my_demo',
'host' => 'localhost'
);
//header('Content-Type: application/json');
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
}
【问题讨论】:
-
你也可以分享你的ajax输出吗?
-
听起来您的 AJAX 响应的字符编码存在问题。请出示 PHP 代码。
-
当我不得不处理法语时,我在使用单引号时遇到了一些问题,因为单引号经常出现在法语句子中。
-
@RoryMcCrossan 是的,我也认为。而且我没有在我的代码中使用任何字符编码。
标签: php jquery html mysql datatables