2016-05-02 14 views
1

私は、同じドメインから(ワードプレス)からXMLを解析し、ロードしようとしているが、私は次のようなエラーになっています:奇妙な何WordPressのXMLフィードをJQueryを使用して解析するにはどうすればよいですか?

XMLHttpRequest cannot load http://www.knead-nyc.com/articles/feed/ . Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.

は私のhtmlページがここに置かれていることである。 http://knead-nyc.com/test.html と私のWordPressのXMLフィードはこちらです:http://www.knead-nyc.com/articles/feed/

私のHTMLコードは次のとおりです。

<!DOCTYPE html> 
    <html> 
    <head> 
    <meta charset="UTF-8"> 
    <title>Test Document</title> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 

     function parse(document){ 
      $(document).find("item").each(function(){ 
       $("#content").append(
        '<br /> Title: '+$(this).find('title').text()+ 
        '<br /> Author: '+$(this).find('link').text()+ 
        '</p>' 
       ); 
      }); 
     }; 

     $.ajax({ 
      url: 'http://www.knead-nyc.com/articles/feed/', // name of file you want to parse 
      headers: {'X-Requested-With': 'XMLHttpRequest'}, 
      dataType: "xml", 
      success: parse, 
      error: function(){alert("Error: Something went wrong");} 
     }); 
    }); 
    </script> 

    </head> 

    <body> 
    <div id="content"></div> 
    </body> 

</html> 

私は "記事" foldeにワードプレスをインストールr。ドメインの競合を防ぐために、私はWordPressのルートディレクトリにある.htaccessファイルに次の変更を行ったが、それは働いていない:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Credentials true 
RewriteEngine On 
RewriteBase /articles/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /articles/index.php [L] 
</IfModule> 
# END WordPress 

答えて

0

私は検索のビットを行なったし、解決策を見つけました。私は同じドメイン(example.com)にいたが、私は次のエラーが発生していた。 「XMLHttpRequestがhttp://example.org/をロードすることはできません。No 『でアクセス制御 - 許可 - 起源』ヘッダが要求されたリソース上に存在している。起源http://www.example.orgがあるため、許可されていないアクセスを」

私は時折、同一生成元ポリシーは、間の要求をブロックすることが分かりました同じドメイン上のサブドメインそこで、私はいくつかの検索の後、私のJavaScript内にdocument.domainを追加することでこの問題を解決することができました。例: document.domain = 'example.com';

私も私のJavaScriptの上部を変更:

$("#loading").show(); 
        document.domain = 'example.com'; 
         $.ajax({ 
         type: "GET", 
         url: "/articles/feed/", 
      //url will load http://www.example.com/articles/feed/ 
         dataType: "xml", 
         success: parseXml 
}); 
関連する問題