2016-08-04 2 views
0

私はhttps://にホストされているサイトで、共有のプロパティを示すサイトからデータを取得したいと考えています。データを返すURLは次のとおりです。XMLHttpRequest()を使用してhttpサイトからhttpsにデータを取得できません

http://ir1.euroinvestor.com/asp/ir/xmlirmultiiso2.aspx?companyid=281191

次のように私は、データを取得するために開発したコードは次のとおりです。

function GetSharesUpdate(){ 
    // makeing AJAX calls to the web service for getting the share update  
    var xhr = new XMLHttpRequest(); // Set up xhr request 
    xhr.open("GET", "http://ir1.euroinvestor.com/asp/ir/xmlirmultiiso2.aspx?companyid=281191", true); // Open the request 
    xhr.responseType = ""; // Set the type of response expected  
    xhr.send(); 
    // Asynchronously wait for the data to return 
    xhr.onreadystatechange = function() { 
     if (xhr.readyState == xhr.DONE) { 
      var tempoutput = xhr.responseXML; 
      alert(tempoutput); 
     } 
    } 
    // Report errors if they happen 
    xhr.addEventListener("error", function (e) { 
     console.error("Error: " + e + " Could not load url."); 
    }, false);  
} 

私のようにあるの文xhr.send();上のエラーを取得しています以下:

混在したコンテンツ: 'https://[SiteUrl]' でのページには、HTTPS経由でロードされ、 しかしinsecuを要求されましたXMLHttpRequestエンドポイント 'http://ir1.euroinvestor.com/asp/ir/xmlirmultiiso2.aspx?companyid=281191'。 このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。

私はhttpsにURLを変更した場合、すなわち

https://ir1.euroinvestor.com/asp/ir/xmlirmultiiso2.aspx?companyid=281191

その後、xhr.send();がエラーなしで実行されますが、私はxhr.responseXMLヌルを取得しています。

コードを変更して機能させるにはどうすればよいですか?

+0

あなたの2番目のURLの4個のスラッシュ( '/')があります。あれは正しいですか? – FrankerZ

+0

注目をいただきありがとうございます。投稿を追加している間に入力ミスがありました。 –

+0

エラーなく実行されますか? * VM155 nizaqapusu.js:6 GET https://ir1.euroinvestor.com/asp/ir/xmlirmultiiso2.aspx?companyid=281191 net :: ERR_INSECURE_RESPONSE *と私がChromeのURLにアクセスしたときSSL証明書が別のホスト名用であると不平を言う。 – Quentin

答えて

0

最初の問題は、非httpsドメインに対してajaxリクエストを行っていて、ドメインにSSLがインストールされていることです。

2番目の問題は、クロスオリジンリクエストCORSです。最初に解決しても(つまり、http以外のドメインからのajaxリクエストを試しても)この問題が発生します。

他のウェブサイトからデータをリクエストしているため、要求されたサーバーがドメインのリクエストを処理するように設定されている場合を除き、このエラーが発生する可能性が最も高いです これを解決するには、サーバー(プロキシサーバー)あなたのドメインからの要求を許可するように設定された要求されたサーバー。

もっと見る - https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

関連する問題