2011-10-18 5 views
1

誰かが私のajaxが失敗する理由を知っていますか?JSONPとJQuery Ajax:JSONPで変数を設定するにはどうすればよいですか?

私はここからJSONPを介してデータを取得しています: JSON Data

あなたはこのコードを使用し、 'アラート' が実行されることはありませんか気づくことができます。

$(document).ready(function() { 
    var url = "http://www.finddata.org/buytimeseriesdata/getEncomChartSeriesData?_=1317741441988&tsId=F000008DDB"; 
    $.getJSON(url + "&callback=?", null, function(data) { 
     alert('hi'); 
    }); 
}); 

答えて

3

私はここからJSONPを介してデータを取得する

いいえny JSONP data。同じ概念ではないJSONデータを取得しています。あなたが指定したURLは、JSONPをサポートしていないため、コードが機能しません。レスポンスは指定するコールバックパラメータでラップする必要がありますが、サーバはそれを無視します。例えば

あなたはこれが仕事をしたい場合は、following urlは返す必要があります。

(それは現在ありません)
foo({"datas":[...],"unit":"%","records":27}) 

の代わり:

{"datas":[...],"unit":"%","records":27} 

があなたならば、私はfollowing guideを読んで、あなたをお勧めしますcorssドメインのAJAXリクエストを実行したい

+0

ありがとうございました!だから私は関数や他のドメインを使用する必要がありますか?var F00000CX1E = [[Date.UTC(1979,01,31)、70.74]、[Date.UTC(1979,02,28)、70.99 ]] ' –

+1

@DonnyP、いいえ、あなたはJSONPを返すように' http:// www.finddata.org'の 'getEncomChartSeriesData'スクリプトを修正する必要があります。このリモートドメインにアクセスできない場合は、何もできません。この場合、あなたの唯一の機会はブリッジとして機能するあなたのドメイン上にサーバー側のスクリプトを書くことです。以下のガイドを読んでください:http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide –

+0

私はfinddata.orgドメインへのアクセス権を持っています。私は必要なものを出力することができます。私は[ここ](http://www.highcharts.com/samples/data/usdeur.js)で使われているフォーマットを使うことを望んでいました。私は現在、の中でこれを使用していますが、正しく動作しますが、jqueryとsuccess関数で正しく使用したいのです。 –

0

は、PHPのように、ゼロにする必要はありませんdocumentatio jQueryので

$.getJSON(url + "&callback=?", function(data) { 
[...] 

オプションのパラメータを試してみてください。

+0

あなたは正しいですが、それはjson(p)検索の失敗の原因ではありません... – Rafay

関連する問題