2011-09-16 5 views
1

私はjQueryとJavaScriptで新しいです。 get()関数でHTTP GETリクエストを作成しようとしています。私のコードの一部を以下に報告しました。私はhttp要求が動作しない理由を理解していません。アドバイスありがとう!

var jqxhr = $.get("http://lyricwiki.org/api.php?func=getSong&artist=Tool&song=Schism&fmt=xml", 
    function() { 
     alert("success"); 
    }) 
    .success(function() { alert("second success"); }) 
    .error(function() { alert("error"); }) 
    .complete(function() { alert("complete"); }); 
+0

エラーは何ですか? – Tejs

+0

エラーコンソールまたはデバッガコンソールで、javascriptエラーが報告されているかどうかを確認しましたか?あなたはlyricwiki.orgドメインのウェブページからこれを呼びますか? – jfriend00

+3

私はこのクロスドメインセキュリティを推測しています。あなたのウェブサイトはどのドメインですか? –

答えて

3

私はあなたがsame origin policyに違反している、その場合にはlyricwiki.orgとは異なるドメイン上でこのサービスを提供していると仮定しています。


編集:良いニュースは、JSONPの代わりに生のJavaScriptファイルとしてクロスドメインをリクエストできるようにするファンキーな代替手段を持っているようです。 http://lyrics.wikia.com/LyricWiki:REST#Response_Formatsここに例があります: http://lyrics.wikia.com/api.php?artist=Slipknot&song=Before_I_Forget&fmt=js

+0

大変ありがとうございました。明日は試してみるよ、あなたに知らせるよ!再度、感謝します! – mbPro

+0

あなたは正しい人です、問題は同じ起源ポリシーです。私はこのリンク[リンク]を共有しています(http://techblog.molindo.at/2008/07/access-to-lyricwikiorgs-rest-api-with-pure-javascript.html)誰かがそれに興味を持っているなら、私はどのように解決した。みんなありがとう! (と私の悪い英語のために申し訳ありません!) – mbPro

0

あなたのコードは完全に良いです、私はあなたのドメインが異なっていると思います。あなたがコードを実行

ドメインが別のドメインからのAJAXを使用して、任意のデータを取得するには、クロスドメインポリシーとその可能性はないのである

lyricwiki.orgと同じである必要があります。

このような場合は、私はこのことができます願っていJSONP

を使用してみてください。