我使用数据表来显示数据,我想以一种很好的方式从我的服务器获取语言设置。问题是以一种使这成为可能的方式格式化数据,我更喜欢使用 json 格式,尽可能少地进行修改。
我想用这个:
(作为我创建数据表的参数,这是什么?数组?对象?json 字符串?)
var oLanguage =
{
"oLanguage": {
"sLengthMenu": "_MENU_ per page"
}
};
我尝试使用这种方法从服务器获取这些数据:
$.getJSON( '/olan', function(data){
oLanguage=data;
});
服务器代码:(PHP,SLIM)
$app->get('/olan', function() use ($app, $lan){
$oLanguage = array('oLanguage' => array('sLengthMenu' => '_MENU_ per page'));
$response = $app->response();
$response['Content-Type'] = 'application/json';
$response->body(json_encode($oLanguage));
});
我能够遍历 $.getJSON 方法中的数据,并且所有信息都在那里,必须与格式/对象处理有关。我还没有很好地理解我需要的对象类型,我可以声明它,但我不知道它是什么:) 我希望它是某种 json 对象,所以我可以很容易地得到它我试着去做。我也许可以使用 $.each 迭代来声明它,但它会很难看。
这是我在stackoverflow上的第一个问题,谢谢你帮助我
-------------------------答案(前 8 小时不能发布)---------------
原来,
感谢筱社
,数据表有一个内置功能可以从服务器获取语言设置。通过这样创建表:
$('#tableid').dataTable({
"oLanguage": {
"sUrl": "/olan"
}
});
并编辑我的服务器代码:(更改 $oLanguage 变量)
$app->get('/olan', function() use ($app, $lan){
$oLanguage = array('sLengthMenu' => '_MENU_ per page');
$response = $app->response();
$response['Content-Type'] = 'application/json';
$response->body(json_encode($oLanguage));
});
有用!
在 Javascript 中,[] 表示数组,{} 表示对象。您可以根据需要嵌套对象和数组。使用 jsonlint.com 之类的 json 验证器来验证您的服务器响应。,格维玛尼
oLanguage 是具有属性 oLanguage 的对象,它是具有属性 sLengthMenu 的对象。sLengthMenu 的值为“每页菜单”
var oLanguage =
{
"oLanguage": {
"sLengthMenu": "_MENU_ per page"
}
};