jsFiddle как получить json?

Hy,

Я работаю над jsFiddle с примером openlayers. http://dev.openlayers.org/releases/OpenLayers-2.11/examples/snapping.html

На данный момент он не работает, потому что не получает ответ на запрос http для получения данных. Как мне это исправить?

JsFiddle находится здесь: http://jsfiddle.net/TcuxA/6/ Перейти к строке "// создать три векторных слоя" в скрипте. Есть 3 запроса данных. Если вы наберете URL в вашем браузере, вы получите JSON, но мой firebug выдает 3 ошибки, когда я запускаю jsFiddle.

Я попытался исправить с помощью jsFiddle echo ( http://doc.jsfiddle.net/use/echo.html), но это не сработало. Я не знаю, как изменить скрипт для загрузки данных в противном случае.

Почему я не могу получить JSON по этим URL? Каковы хорошие решения?

2 ответа

Решение

Вы испытываете исключение, которое выдается объектом XMLHttpRequest, потому что вы используете AJAX вызывать элементы из другого домена. Это лучше сказать, например, здесь:

"Объект XMLHttpRequest не может вызывать веб-сервисы из-за пределов своего собственного домена. Это разумно, учитывая, что если вы вызываете скрипт в одном месте, а он, в свою очередь, вызывает скрипт на другом сервере, он может оставить приложение открытым для всех виды вредоносных скриптов, взломов и эксплойтов. "

Таким образом, самый простой способ сделать это - кодировать его локально и вызывать локальную копию файлов (poly.json, line.json и point.json), которые будут находиться на вашем локальном сервере. Чтобы проверить, отображаются ли все на карте, вы можете жестко закодировать файлы в свой код. Я не уверен, как это могло быть достигнуто иначе.

Хорошее решение может быть таким: использование ответов GitHub. Вы можете сохранить свой пример в github вместе с предопределенными ответами на запросы XHR.

Другие вопросы по тегам