0

私はしばらくこれを機能させるのに苦労してきました。基本的には、YQL リソース経由で Yahoo から情報を取得したいと考えています。IEを除くすべてのブラウザで動作しています。(私がテストしたのは IE8 だけですが、必須です)。

ここでフィドル。

$.ajax({
    type: 'GET',
    dataType: 'jsonp',
    crossDomain: true,
    url: 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fwebservice%2Fv1%2Fsymbols%2Fyhoo%2Fquote%3Fformat%3Djson%22%20and%20itemPath%20%3D%20%22list.resources.resource.fields%22&format=xml&callback=?',
    success: function(data) {
        console.log(data);
        name = $($(data.results[0]).find('name')[0]).text();
        symbol = $($(data.results[0]).find('symbol')[0]).text();
        price = $($(data.results[0]).find('price')[0]).text();
        price = parseInt(price);
        $('body').append(name + '; ' + symbol + '; ' + price);
    }
});

YQL リクエスト (コンソール用):

select * from json where url="http://finance.yahoo.com/webservice/v1/symbols/yhoo/quote?format=json" and itemPath = "list.resources.resource.fields"

これは単純な Ajax get 呼び出しですが、IE8 がデータに対して何かを行うためのアクセスを取得できないようです。(URL に表示される return dataType は問題ではありません。XML と JSON の両方で試しました)。何か不足していますか?それともこれは可能ですか?

4

1 に答える 1

0

あなたの例では使用してjQuery-2.0.2いますがjQuery-2.0、サポートを中止したためですIE-6/7/8jQuery 2.0 リリースから| 公式の jQuery ブログ:

IE 6/7/8 のサポート終了:古いバージョンをエミュレートする「互換表示」モードで使用されている場合、これは IE9 や IE10 にも影響する可能性があることに注意してください。これらの新しい IE バージョンが以前のモードに戻るのを防ぐために、常に X-UA-Compatible タグまたは HTTP ヘッダーを使用することをお勧めします。HTTP ヘッダーを使用できる場合は、ブラウザー パーサーの再起動の可能性を回避できるため、パフォーマンスがわずかに向上します。

これは、を使用した実用的なフィドルjQuery-1.9.1です。

于 2013-09-12T21:51:46.040 に答える