Проблема кросс-происхождения Wolfram API

Я пытался работать с Wolfram API, но сталкивался с проблемой перекрестного происхождения каждый раз, когда делаю запрос xhtml. После некоторых исследований я решил, что лучший способ преодолеть это — использовать JSONP. У меня есть следующий код, но он не работает, так как я считаю, что Wolfram путает функцию обратного вызова с AppID (который я скрыл и вместо этого поставил xxx, o/w работает отлично):

<script>
function processJSON (json) {
  // Process the JSON response
};

// Create a new script element
var script_element = document.createElement('script');

// Set its source to the JSONP API
script_element.src = 'http://api.wolframalpha.com/v2/query?input=pi&appid=xxx?jsoncallback=processJSON&format=xml?';

// Stick the script element in the page <head>
document.getElementsByTagName('head')[0].appendChild(script_element);

The reason I know Wolfram is confusing the AppID is through using the web console on Firefox, as it says the appId is not valid.

Я застрял на этом некоторое время, поэтому любая помощь будет оценена по достоинству; Благодарность!


person tj56    schedule 12.06.2014    source источник


Ответы (1)


Символ ? начинает строку запроса. Пары ключ=значение в строке запроса разделяются & символами.

Тем не менее, API Wolfram Alpha не поддерживает JSON, JSONP или вызов из браузера.

person Community    schedule 12.06.2014
comment
Спасибо за ваш ответ. Нет ли способа использовать JSONP для этого? Если нет, знаете ли вы какой-либо другой способ обойти проблему перекрестного происхождения для Wolfram? - person tj56; 12.06.2014
comment
Сделайте запрос со своего сервера. - person Quentin; 12.06.2014
comment
Я понимаю. Но как мы можем быть уверены, что Wolfram не поддерживает JSONP? (кроме того, что я не мог этого сделать в течение некоторого времени :S :P) - person tj56; 12.06.2014
comment
@ user3651766 — Мы не можем быть уверены в том, что это не так, но поскольку в их документации ничего не сказано об этом… - person Quentin; 12.06.2014