Как сделать запрос WolframAlpha на статических страницах Github?

Я пытаюсь запросить wolfram, чтобы сделать некоторые математические расчеты для моего сайта, а затем отобразить результат. У меня проблемы с CORS. Мой код:

var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() { 
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
     callback(xmlHttp.responseText);
}
xmlHttp.open("GET", "http://api.wolframalpha.com/v2/query?input="+theUrl+"&appid=", true); // true for asynchronous 
xmlHttp.send(null);

Моя ошибка:

«Запрос между источниками заблокирован: та же политика происхождения запрещает чтение удаленного ресурса по адресу http://api.wolframalpha.com/v2/query?input=sqrt(100)&appid=. (Причина: заголовок CORS "Access-Control-Allow-Origin" отсутствует)".

Я понимаю, что на динамическом сайте я мог бы просто добавить

Header set Access-Control-Allow-Origin "*"

в .htaccess

но я не уверен, как это сделать на статическом сайте. Я читал, что Allow-Access_origin уже должен присутствовать на страницах github.

2-й ответ здесь: Общий доступ к ресурсам из разных источников на страницах GitHub

2-й ответ здесь: Есть ли способ включить CORS на Страницы GitHub?


person Seth Kitchen    schedule 04.09.2016    source источник
comment
Заголовок Access-Control-Allow-Origin должен быть установлен на стороне сервера, т. е. в данном случае wolframalpha. У вас нет возможности сделать это, вероятно, если вы не вводите вольфрамальфа.   -  person Stefan Hegny    schedule 05.09.2016
comment
Это дубликат stackoverflow. com/questions/16268930/ . Пожалуйста, удалите награду и закройте вопрос.   -  person Andy Ray    schedule 08.09.2016
comment
@AndyRay, на этот вопрос нет ответа. Мой особенно отличается, потому что он запрашивает альтернативы   -  person Seth Kitchen    schedule 08.09.2016


Ответы (1)


Если это небольшой проект, вы можете направлять свои запросы на получение через crossorigin.me. В противном случае вам придется самостоятельно запускать сервер, который проксирует запросы к wolfram alpha и правильно устанавливает заголовок Access-Control-Allow Origin. Вы даже можете развернуть один из этих прокси-серверов на now.sh или heroku бесплатно или дешево. У меня есть похожее простое приложение github-issue-filer, которое правильно устанавливает заголовок и перенаправляет сообщения POST. к API github.

person Drew Schuster    schedule 09.09.2016
comment
Я думаю, что воспользуюсь crossorigin.me, если не будет лучшего решения. Почему это должен быть небольшой проект? Спасибо! - person Seth Kitchen; 09.09.2016
comment
Владелец crossorigin.me управляет сайтом бесплатно из любезности, поэтому, если вы ведете тонны трафика, было бы любезно не злоупотреблять их щедростью :-) - person Drew Schuster; 10.09.2016