Update:, чтобы избежать возможности того, что проблема возникает только до той же политики происхождения, я пытался служить это локально, где все средства поступают из http://localhost:4000
с использованием Serve. Это не решило проблему. Поэтому редактирование скрипки может не работать из-за той же политики происхождения, но вы можете увидеть там код.нагрузки удаленного JSON от Dynatable
Я пытаюсь использовать Dynatable для загрузки внешнего JSON, пропуская чтения (шаг, который генерирует JSON из существующей таблицы)/нормализации. Предполагается, что это поддерживается, но это не работает для меня.
Here's my attempt on JSFiddle. Загрузка JSON из документа (что для меня не очень полезно) работает отлично, как видно на скрипке. Но вытащить его из URL-адреса совсем не работает.
Вот мой JavaScript:
// getting JSON from the document works, but of what use is that?
$(document).ready(function() {
$('#local').dynatable({
dataset: {
records: JSON.parse($('#music').text())
}
});
// getting JSON from a remote source fails:
$('#remote').dynatable({
dataset: {
ajax: true,
ajaxOnLoad: true,
ajaxUrl: '//www.dynatable.com/dynatable-ajax.json',
records: []
}
});
});
... который относится к двум таблицам, один с идентификатором «локального», а другой с идентификатором «удаленного», и сценарий, содержащий данные для локальная таблица:
<h3>Remote JSON: Failing</h3>
<table class="table table-striped" id="remote">
<thead>
<th>Some Attribute</th>
<th>Some Other Attribute</th>
</thead>
<tbody>
</tbody>
</table>
<hr>
<h3>Local JSON: Succeeding</h3>
<table class="table table-striped" id="local">
<thead>
<th style="color: black;">Band</th>
<th>Album</th>
</thead>
<tbody>
</tbody>
</table>
<script id="music">
[
{
"band": "The Police",
"album": "Ghost In The Machine"
},{
"band": "Supertramp",
"album": "Breakfast In America"
},{
"band": "Peter Tosh",
"album": "Mama Africa"
},{
"band": "The Police",
"album": "Regatta d'Blanc"
},{
"band": "The Police",
"album": "Zenyatta Mondatta"
},{
"band": "Supertramp",
"album": "Crime of the Century"
},{
"band": "Talking Heads",
"album": "Remain in Light"
},{
"band": "Talking Heads",
"album": "Speaking in Tongues"
}
]
</script>
Вот моментальный снимок вашего кода с хромированием с флагом «-disable-web-security». http://imgur.com/Vcxz45e –
Также имейте в виду, что другой порт имеет другое происхождение. Таким образом, страница, запущенная на localhost: 80, не может получить доступ к ресурсу из localhost: 4000 –
Хорошая точка в портах, но здесь это не проблема, поскольку я обслуживаю все, начиная с порта 4000. – iconoclast