Как я могу использовать JSON на веб-странице из источника ни с CORS, ни с JSONP?

Некоторые службы данных JSON в Интернете предназначены для использования только серверами и пренебрегают возможностью использования напрямую веб-приложениями.

Из-за проблем с несколькими сайтами такие службы будут работать, если они либо предоставят формат JSONP , либо поддерживают CORS .

Я хочу создать небольшой инструмент JavaScript, который может вызывать онлайн-ресурс, который возвращает JSON а не, и не поддерживает.

Одним из примеров был одностраничное приложение, которое я создавал, для которого единственный источник данных, который я мог найти, не предоставлял CORS или JSONP . Будучи одностраничным, у него не было собственного сервера, поэтому он подчинялся политике одного и того же происхождения.

Какие страtagsи доступны в таких случаях?

** Один из способов – найти прокси-сервер, который может получить доступ к источнику данных JSON а затем передать его вашему веб-приложению, преобразованному для работы с JSON , CORS или любым другим форматом, с которым вы можете справиться, не беспокоясь о проблемах с несколькими сайтами.

Одним из таких прокси является Yahoo «YQL» .

YQL поддерживает как JSONP, так и CORS.

Поэтому, если ваш браузер также поддерживает CORS, вы можете думать о нем как о бесплатном прокси-сервере JSON для JSON. Если нет, то это также бесплатный прокси JSON для JSONP:

Вот пример того, как я использовал его с jQuery:

 $.getJSON("http://query.yahooapis.com/v1/public/yql", { q: "select * from json where url=\"http://airportcode.riobard.com/airport/" + code + "?fmt=JSON\"", callback: gotJSON, // you don't even need this line if your browser supports CORS format: "json" }, function(data){ if (data.query.results) { /* do something with data.query.results.json.code data.query.results.json.name data.query.results.json.location */ } else { /* no info for this code */ } } ); 

И версия на jsfiddle …

  • Что такое файл web.xml и что я могу сделать с ним?
  • Кто устанавливает тип содержимого ответа в Spring MVC (@ResponseBody)
  • Как разрешить «Ошибка HTTP 500.19 - Внутренняя ошибка сервера» на IIS7.0
  • NoClassDefFoundError JsonAutoDetect при анализе объекта JSON
  • Решение проблемы двойного представления
  • Путь к ресурсу в нашей папке war / WEB-INF?
  • В IndexedDB есть способ сделать отсортированный составной запрос?
  • iPhone Web App - остановка прокрутки тела
  • Рекомендации по созданию и загрузке огромного ZIP (из нескольких BLOB) в WebApp
  • getResourceAsStream () vs FileInputStream
  • Log4j, настройка веб-приложения для использования относительного пути
  • Interesting Posts

    Как реализовать Yii2 Modal Dialog на кнопке просмотра и обновления Gridview?

    Git pull / push – невозможно получить доступ к HTTPS, процедуры SSL, похоже, не работают

    Как TryParse для значения Enum?

    Autoincrement VersionCode с дополнительными свойствами gradle

    Rails Routes – ограничение доступных форматов ресурса

    Поддерживает ли HTML WebSockets открытое соединение для каждого клиента? Это масштаб?

    Различия между socket.io и websockets

    У меня есть лист, который имеет 2 столбца; В одном – это имя, в другом – одно или несколько писем, разделенных запятой

    Получить IP-адрес клиента в socket.io

    Преобразование таблицы mysql в исходный dataset очень медленное по сравнению с CSV-файлом

    Предупреждения о низкой памяти Windows 10, когда у меня много доступной памяти

    Android: определить яркость (количество света) в окружении телефона с помощью камеры?

    Пользовательские разрешения: Daemon и User

    Когда можно безопасно оставить остатки очистки Revo Uninstaller?

    Для ПК с 1 ГБ ОЗУ следует установить 32-битную или 64-битную Windows 7?

    Давайте будем гением компьютера.