我使用datatables来显示数据,我想以一种很好的方式从我的服务器获取语言设置。问题是以这种方式格式化数据,我宁愿使用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小时发布)------------ ---
原来,
感谢Shinosha
,数据表的内置功能可以从服务器获取语言设置。通过创建这样的表:
$('#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验证器 验证您的服务器响应。,gvmani
oLanguage是具有属性oLanguage的对象,该属性是具有属性sLengthMenu的对象。 sLengthMenu的值为“ MENU 每页”
var oLanguage =
{
"oLanguage": {
"sLengthMenu": "_MENU_ per page"
}
};
答案 0 :(得分:1)
在Javascript中,[]表示数组,{}表示对象。您可以根据需要嵌套对象和数组。使用像jsonlint.com这样的json验证器来验证服务器响应。