2017-01-13 2 views
0

До сих пор моя программа использовала .json-файл для построения диаграммы. Код был примерно таким:Как использовать данные JSON в D3, которые были получены с WEB-Service?

d3.json("data.json", function(data) { 

    //use data 

}); 

Это работало отлично. Данные в .json-файле поступают из моей собственной службы REST, которая работает в NetBeans. На данный момент я просто скопировал и ввел вывод моего вызова REST-сервиса в файл .json (который находится в папке, где также находится index.html), и сохранил его. Поскольку это всего лишь глупый способ сделать это, я хочу, чтобы мой JavaScript вызывал мою REST-службу и использовал полученные данные вместо файла .json. Так что я пытался что-то вроде этого:

d3.json('http://localhost:port/data', function(data) { 

    //use data 

}); 

(URL-адрес, очевидно, просто манекен) Проверка NetBeans-NetworkMonitor, это всегда запрос GET со статусом 200, который должен быть хорошо, я думаю. Заголовки ответов содержат «content-type: application/json», и сам ответ - это те же самые данные, которые я получил бы, если бы я просто вызвал URL-адрес в своем браузере (из которого я скопировал их в файл .json до -> нет разницы в данных). Проблема в том, что диаграмма больше не показана. Если я запустил hmtl с «файлом» -кодом, он работает, если я запустил его с помощью «call rest-service» -кода, он больше ничего не показывает. У кого-нибудь есть идея, почему это происходит?

Интересно, что код ответа из моего сервиса-отдыха красный, и нет сетевого контента в сетевом мониторе NetBeans (screenshot).

Редактирование 1: таблица с экрана не показывает тип содержимого, хотя заголовки ответов говорят «Content-type: application/json».

+0

Произошла ошибка в консоли браузера. – ranjeet8082

+0

Возможно, ваша проблема заключается в дублировании этого: http: //stackoverflow.com/questions/18005484/getting-json-data-from-localhost-to-use-in-d3 –

+0

@ ranjeet8082 не знаю, почему я не сделал этого, Думаю об этом. В консоли браузера указано следующее: «XMLHttpRequest не может загружать http: // rest-url/data. Нет заголовок« Access-Control-Allow-Origin »присутствует на запрошенном ресурсе. Поэтому исходный« rest-url »не допускается , – Michzor

ответ

0

Я нашел решение проблемы благодаря ranjeet8082!

Я просмотрел журнал ошибок моего браузера (хром), нажав f12 на index.html. Консоль отображается следующее сообщение об ошибке:

"XMLHttpRequest cannot load http:// rest-url /data. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'rest-url' is therefore not allowed access."

("отдых-URL" является манекен для моего покоя URL)

я мог бы решить эту проблему, просто добавив «Allow-Control-Allow-Origin : * "- добавление к моим хром-аддонам. Это можно найти в this link. Спасибо, ребята, за вклад.

Смежные вопросы