2012-03-07 10 views
1

私はテンプレートページからhtmlを読み込んで、XMLからコンテンツを読み込むウェブサイトを開発しています。たとえば、これらはdocument.ready関数で呼び出されます。Google Chrome - 失敗したGET ajaxリクエスト

$.ajax({ 
       type : "GET", 
       url : "template.html", 
       dataType : "html", 
       success : function(html) { 
        var ndoc = document.createElement('html'); 
        ndoc.innerHTML = html; 
        page = $('body', ndoc); 
        $('body').html(page.html()); 

        $.ajax({ 
         type : "GET", 
         url : "XML/content.xml", 
         dataType : "xml", 
         success : function(xml) { 
          page = $(xml).find('chisiamo').find('dialogue')[0]; 

          setupPage(page); 
         } 
        }); 

       } 
      }); 

これはFirefoxとSafariでうまくいきます。しかし、Chromeでは、template.htmlを読み込もうとすると「Access-Control-Allow-OriginがOriginのnullを許可しません」というエラーが発生します。どうすればこの問題を解決できますか?どうもありがとうございました。

+0

そのスクリーンショットを表示してください。 – zerkms

+1

スクリーンショットを取得しますか?これはChromeのコンソールに表示される正確な文字列です。 'XMLHttpRequestはfile:///Users/***/Dropbox/CorpoMusicale/template.htmlを読み込めません。 Originのnullは、Access-Control-Allow-Originによって許可されていません。 – Lorenzo

+0

あなたは見たことがありますか:http://stackoverflow.com/questions/5224017/origin-null-is-not-allowed-by-access-control-allow-origin-in-chrome-why – Igor

答えて

0

この引数を指定してGoogle Chromeを起動してください:

google-chrome --disable-web-security --allow-file-access-from-files 
+0

私はこのウェブサイトをGoogle Chromeでローカルに動作させる必要があります。私はあなたが投稿した議論を認識していますが、スタートアップオプションなしで標準のChromeで動作するようにリクエストを変更する方法はありませんか? – Lorenzo

+0

それは「安全保障」だとは思わない。 ファイルをhttpサーバに置こうとしましたか? – Damoun

0

あなたはそれをファイルからファイルを読み込むためのアクセスを許可するために、Chromeウェブアプリケーションを作成して、マニフェストに権限を設定することができるはずです://スキーム。

http://code.google.com/chrome/extensions/manifest.html

+0

あなたはより具体的にしてくださいできますか?私は本当に互換性の問題に近づいていて、このケースではほとんど無知です。 – Lorenzo

+0

私はマニフェストを構築し、最初のHTMLリクエストを動作させましたが、それでもXMLファイルからロードすることはできません。 – Lorenzo

0

はあなたがマニフェストに要求しているページへのアクセス権を追加する必要があります。代わりに$ .getJSONを試してみてください;)