2017-11-21 8 views
0

私はこのサイトからXMLデータをロードしたい:https://www.anime2you.de/feed/CORS無アセス-CONTROL-許可原産のヘッダ

しかし、私はいつもCORSを使用しているにもかかわらずノーアクセス制御 - 許可 - 起源のヘッダを取得します。私はCORSの概念/用法を誤解したのですか、あるいはウェブサイトに欠陥がありますか?

マイコード:

var feeds = ["https://www.anime2you.de/feed/"]; 

var createCORSRequest = function(method, url) { 
    var xhr = new XMLHttpRequest(); 
    if ("withCredentials" in xhr) { 
// Most browsers. 
xhr.open(method, url, true); 
} else if (typeof XDomainRequest != "undefined") { 
// IE8 & IE9 
xhr = new XDomainRequest(); 
xhr.open(method, url); 
} else { 
// CORS not supported. 
xhr = null; 
} 
return xhr; 
}; 

var url = 'https://www.anime2you.de/feed/'; 
var method = 'GET'; 
var xhr = createCORSRequest(method, url); 

xhr.onload = function() { 
alert("success"); 
}; 

xhr.onerror = function() { 
alert("fail"); 
}; 

xhr.send(); 

事前 に感謝ノヴァ

答えて

1

あなたは、ヘッダー( "アクセス制御 - 許可 - 原産地:*")を設定しています。あなたが要求しているスクリプトで? https://www.anime2you.de/feed/ワイルドカードとアクセス制御 - 許可 - 起源を使用している場合は、

header("Access-Control-Allow-Origin: http://domain-where-js-sits"); 

すなわち要求を行っているサーバのドメイン名を設定することができた場合、

xhr.withCredentials = false; 

にfalseに認証情報を設定します

xhr.withCredentials = true; 

をし、これらの他のヘッダに設定します:あなたが行うことができます

を3210

代替はJSONPを使用することである - レスポンスはJSONであることが必要であるとして、これはあなたのために動作しない場合があります

function response(data) { 
    edit the returned data here 
} 

var script = document.createElement('script'); 
script.src = 'https://www.anime2you.de/feed/?callback-response'; 
document.body.appendChild(script); 
+0

あなたはヘッダを設定する方法について説明していただけますか?私はヘッダー(...)がPHPだと思ったから –

+0

あなたがPHPを使っていないなら:https://www.anime2you.de/feed/あなたはサーバー上のどこか.htaccessファイルかあなたのサーバが動いているかどうかに応じて、apache設定ファイルを作成します。 IISの場合はウィンドウ。 –

+0

サーバーは私のものではありません。それはウェブサイトのRssフィードを含むページです。自分のウェブサイトにフィードを表示するためのxmlデータを取得したい。私はanime2youを制御できません –

関連する問題