2012-04-18 9 views
1

私は、フィードが説明する静的なPDF文書とともに、別のサーバーに存在するニュースフィードを開発しています。AtomからJSONPへの変換の苦境

私はクライアント側のみのフィード解析を実装しようとしています。なぜなら、私はバックエンドサーバの機能が何であるか分からないからです。

ショートカット回避策として、私はBlastcasta.com

url = "http://www.blastcasta.com/feed-to-json.aspx?feedurl=http://[atomLocation]/newsletter.atom" 

data = {} 
$.ajax({ 
    url: url + "?callback=?", 
    dataType: "jsonp", 
    data: data, 
    success: function(data) { onSuccess(data); }, 
    error: function() { alert('Failed to parse feed'); }, 
}); 

を使用してJSONにAtomフィードを解析しています、私は「アプリケーション/ JSON」にデータ型を設定した場合、私は、クロスオリジン・エラーが発生します。私が 'jsonp'に設定すると、 'Syntax Error:Unexpected Token:'というメッセージが表示されます。

私が理解しているところでは、jsonpはjsonが関数などにラップされています。

妥当な回避策があるのですか、それとも、「サックアップして」サーバー側のatom-to-jsonpサービスを開発する必要がありますか?

答えて

1

このサービスは、JSONまたはのようなものを返すのいずれか:param urlパラメータが設定されているが、場合

variable = {...} 

ないJSON-P :(dataType: "jsonp"が動作することはできません使用

、およびdataType: "json"はしませんAccess Control-Allow-Originヘッダーが設定されていないため、サービスでドメイン間のajaxリクエストが許可されないため、どちらかの作業が行われます(CORS

このよう<script>タグ:

<script type="text/javascript" src="http://www.blastcasta.com/feed-to-json.aspx?feedurl=<your url here>&param=myVariable"></script> 

はその後myVariableは、返されたオブジェクトが含まれています。

例デモ:http://jsfiddle.net/kFL9G/

+0

Woohoo !!!それが「param」の部分です...私はそれを最終的に動作させ、少し修正してフィードを外部ドメインからロードしています。 –