2017-01-03 9 views
0

私の問題を宣言する前に、はい、この問題について他のスレッドがありますが、理解できないか、プロジェクト。蒸気インベントリの要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーがありません

これで問題になりました。あなたが私のコードを実行するたびにタイトルでどのように見えるのですか?No 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに回答として表示されます。だから誰でも私が間違いを見つけるのを助けることができます。

コード:http://www.test-cors.org/はそれが私にこのコードスニペットを与えた:

function GetInv(){ 
    var json_obj = JSON.parse(Get('http://steamcommunity.com/inventory/76561198122209518/730/2?l=english&count=5000')); 
    var assets = json_obj.assets; 
    console.log(json_obj); 
} 

function Get(yourUrl){ 
    var Httpreq = new XMLHttpRequest(); // a new request 
    Httpreq.open("GET",yourUrl,false); 
    Httpreq.send(null); 
    return Httpreq.responseText; 
} 

EDIT私は非CORS準拠のツールのためにGoogleで検索し、私はこれを見つけたので

は答えてくれてありがとう

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 = 'http://api.steampowered.com/ISteamEconomy/GetAssetClassInfo/v0001/?key=XXXXXXXXXXXXX&appid=730&class_count=1&classid0=1131459905'; 
var method = 'GET'; 
var xhr = createCORSRequest(method, url); 

xhr.onload = function() { 
console.log("super"); 
}; 

xhr.onerror = function() { 
console.log("failed"); 
}; 

xhr.send(); 

私はそれを試しましたが、それでも同じ欠陥です。だから私は正しい道を進んでいるのですか、私は答えを見つけるために馬鹿にしていますか?

+0

[jQuery xml error 'No' Access-Control-Allow-Origin 'ヘッダーが存在します要求されたリソース。 '](http://stackoverflow.com/questions/19821753/jquery-xml-error-no-access-control-allow-origin-header-is-present-on-the-req) – MayorMonty

答えて

0

これまでずっと、インターネット上の人々を詐欺する方法がありました。そこでは、Webページが別のサーバーに要求を送信してユーザーのアカウントを侵害できるようにするユーザーのふりをします。詳細については、XSSまたはCross Site Request Forgeryをご覧ください。そのため上記のセキュリティ上の懸念の


彼らは明示的にドメインであるAccess-Control-Allow-Originヘッダ、とそれを許可しない限り、最近のブラウザでは、あなたは、別の起源(ドメイン)のページへの要求を行うことができません。これを解決するための方法はありませんが、実際にデータを取得するにはSteam APIを使用することをお勧めします。

+0

ありますこれを実際に解決する方法 - サーバ/ CLI(コマンドラインのカールやNode.JSのリクエストなど)でリクエストを行うなど、CORSに準拠していないツールを使用すると、ブラウザはCORSを実装します。あなたはまだSteam APIを示唆した通りに使用するべきです... APIを提供するのに十分な種類の人は、それを尊重し、情報を取得するための主要なソースとして使用する必要があります。 – SamMorrowDrums

関連する問題