0

Javascript を介して WolframAlpha の API を使用しようとしています。次のコードが空のアラートを返す理由がわかりません。私はjQueryの初心者ですが、ここで使用するのに最適な方法だと言われました。

<html>
  <head>
    <script src="jquery-2.1.1.min.js"></script>
  </head>
    <body>
        <script>
        $.get('http://api.wolframalpha.com/v2/query?appid=77P9PL-2QAWEY86WV&input=2x&format=image,plaintext', function(responseText) {
        alert(responseText);
        });
        </script>
    </body>
</html>

ご助力ありがとうございます

4

1 に答える 1

0

そのため、これは Cross Origin Scripting と呼ばれるセキュリティ メカニズムの影響を受けています。ここでの問題は、呼び出し元のサービスが、ajax 呼び出しでそのリソースを呼び出す許可を与えていないことです。

詳細については、 http://en.wikipedia.org/wiki/Cross-origin_resource_sharingをご覧ください。

これが起こっていることを証明するには、JS Fiddle を見てください: http://jsfiddle.net/dgohczvf/1/

コンソールで次のことを確認できます。

(index):1 XMLHttpRequest cannot load http://api.wolframalpha.com/v2/query?appid=77P9PL-2QAWEY86WV&input=2x&format=image,plaintext. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://fiddle.jshell.net' is therefore not allowed access.

ここでの別の回答は、このサーバーをサーバーに呼び出す必要があることを示唆しています: Wolfram API javascript クロスオリジン共有の問題

于 2014-11-28T00:34:25.317 に答える