0

次のようにjsonデータを返す次のAPIがあります。

API:http://data.mtgox.com/api/1/BTCUSD/ticker JSON:{"result":"success","return":{"high":.......

jqueryを使用して次のことを試しましたが、データが得られません。

$.getJSON('http://data.mtgox.com/api/1/BTCUSD/ticker', function (data) {
                                               alert(data);
                                           });

$.ajax({
                      type: 'GET',
                      url: 'http://data.mtgox.com/api/1/BTCUSD/ticker',
                      dataType: 'json',
                      success: function (data) {
                          alert(data);
                      },
                      error: function (error) {
                          alert(error + "error");
                      }
                  });

しかし、最初はアラートが表示されません

そして2番目にエラーアラートが表示されます。

jQUERY または C# を使用してこのデータを読み取るにはどうすればよいですか?

ありがとう

4

4 に答える 4

1

Archer が述べたように、同じドメインにいない場合、これは機能しません。CORS ( http://en.wikipedia.org/wiki/Cross-origin_resource_sharing ) を使用してこれを回避する 1 つの方法がありますが、必要なヘッダーを設定するか、少なくとも担当者にドメインを制御する必要があります。そうする。

もう 1 つのオプションは、JSONP を使用することです。これは基本的に、スクリプト タグを挿入することによって返されたときにすぐに実行される関数呼び出しで結果をラップします。問題は、エラー処理などの優れた機能が失われ、リクエストをキャンセルできないことです。

于 2013-03-13T11:58:34.947 に答える
0

ライブデータは必要ですか? 「この正確な秒から最新のデータを確認する必要があります」のように?

そうでない場合 (おそらくそうです)、Web サーバーでスケジュールされたプロセス (たとえば 5 分ごと) を作成することをお勧めします。これにより、ソース ( http://data.mtgox.com ) からデータが取得され、データベース テーブルに配置されます。

その後、独自の JSON サービス (MVC アクション メソッド) を作成し、テーブルからデータを公開します。

また、mtgox.com が何らかの理由でダウンした場合でも、サイトが機能していることを顧客に知らせることができます。

于 2013-03-13T12:05:49.927 に答える
0

私はあなたの問題を試しました。Google Chrome Javascript コンソールに表示されたエラーはOrigin http://localhost:1564 is not allowed by Access-Control-Allow-Origin

この質問の答えを確認して、解決策を見つけてください。

于 2013-03-13T11:48:24.927 に答える