Мне нужно использовать API для приложения, которое я создаю, но API не допускает CORS, как еще я могу делать запросы GET и POST к веб-сайту без использования XHR. Я смотрел на websockets и socket.io, но не похоже, что я могу делать http запросы с ними.

Мое другое решение — создание с использованием PHP или curl для выполнения запросов, но я чувствую, что это не очень хорошая идея.

Редактировать: Подробнее

API, который я хочу использовать, — https://bitcoinindex.es/api.

Я хочу взять биржевые цены, которые перечислены, и перечислить их от наибольшего к наименьшему.

Я использовал AngularJS, чтобы сделать первый запрос API, вот мой код

$http.get("https://bitcoinindex.es/api/v0.1/coinbase/usd/btc/last").success (JSON) 

Если вы хотите выполнить какой-либо запрос со стороны сервера, используя nodejs, вам может помочь такой модуль, как Request .

Как разработчик PHP, переходя от традиционного стека LAMP к angularJS и nodejs, я сделал несколько предположений, которые были неверны.

Все запросы HTTP одинаковы

Теперь, конечно, я знал, что были GET, POST и PUT, но я думал, что запрос get одинаков для всех, это не так. Существуют традиционные запросы, сделанные из серверной части приложения с сервера, использующего такие библиотеки, как curl. Эти http-запросы выполняются до загрузки веб-страницы.

С AngularJS запрос выполняется из внешнего интерфейса, то есть после загрузки веб-страницы выполняется запрос. Это называется XHR и поддерживается всеми современными браузерами, с XHR дело в том, что он может сделать пользовательские данные уязвимыми, поэтому он работает только в том случае, если запрос сделан в расположение на том же сервере. Если вы отправляете запрос на другой сервер, тогда CORS должен быть включен ответом сервера и может быть настроен через заголовок access-control-allow-origin.

NodeJS — это некоторый тип внешнего кода хиппи

Опять-таки, из PHP, я не понял, что nodeJS — это настоящий сервер, такой же, как сервер apache, и может выполнять традиционный запрос, упомянутый в первом разделе.

Запрос решений

Выполнить запрос nodeJS очень просто с помощью библиотеки запросов nodejs.

 var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error {amp}amp;{amp}amp; response.statusCode == 200) { console.log(body) // Print the google web page. } })