我正在尝试用远程JSON文件中的数据填充表(Bootstrap数据表)。
这是我使用的功能:
$(document).ready( function() {
$('#twodotsmediatable').dataTable( {
"data": "https://ba.ekapija.com/company/tender-winner-json/103510/pobede-na-tenderima?hash=28cd4a0e334aec8f84a94f30bb340e7f",
"columns": [
{ "data": "tender" },
{ "data": "url" },
{ "data": "date" },
{ "data": "amount" },
{ "data": "company" },
{ "data": "address" }
]
} );
$('.dataTables_length').addClass('bs-select');
});
我也尝试过:
"ajax": "https://ba.ekapija.com/company/tender-winner-json/103510/pobede-na-tenderima?hash=28cd4a0e334aec8f84a94f30bb340e7f"
但是在两种情况下都没有运气。请帮助我找出我在哪里出错。
答案 0 :(得分:0)
您应该始终使用ajax.url
:
$('#twodotsmediatable').dataTable( {
ajax: {
url: 'https://ba.ekapija....'
},
columns: [ .. ]
})
您无法克服浏览器中的请求阻塞,但是可以通过服务器端代理获取所需的JSON。如果您的服务器支持PHP,则proxy.php
可能如下所示:
<?
echo file_get_contents($_GET['url']);
?>
通过代理获取数据:
$('#twodotsmediatable').dataTable( {
ajax: {
url: 'proxy.php?url=https://ba.ekapija....',
dataSrc: function(d) {
return d[0];
}
},
columns: [ .. ]
})
NB :由于JSON似乎采用dataSrc
[[{ item, item, .. } ]]