Загрузка JSON в D3 v5 через Fetch API в Chrome?

1

При запуске следующего кода в Chrome d3.json вызов d3.json не запускается до pubs.json пор, пока pubs.json будет загружен в другую вкладку/окно браузера. Он работает, когда d3.json вставлен в консоль браузера Chrome, он работает, если работает в Firefox...

Я использую Python http.server на localhost.

Почему это происходит в Chrome?

структура:

proj/
  index.html
  pubs.json

код:

<html>
  ...
  <body>
    ...
    <script>
        $(document).ready(function(){
            d3.json("/pubs.json").then(function(data) {
                console.log(data);
            });
        });
    </script>
  </body>
</html>
  • 0
    Что вы подразумеваете под "до pubs.json пор, пока pubs.json не загрузится в другую вкладку / окно браузера"? У вас есть ссылка для воспроизведения вашей проблемы?
  • 0
    Тег скрипта должен быть внутри тега body. Это только опечатка при переписывании на этот пост?
Показать ещё 4 комментария
Теги:
d3.js
es6-promise
fetch

1 ответ

-1

Chrome является педантичным в отношении CORS (Same Origin)

Попробуйте следующее:

d3.json(chartURL, {credentials: 'same-origin'}).then(function(data) {
    ....
});

Если файл загружен другой вкладкой, он может быть найден в кеше, и, возможно, тогда требования не будут более строгими.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню