2016-07-21 9 views
0

私はこの「ランダム見積もりマシン」プロジェクトに取り組んでいます。
クロスドメインスクリプティングの問題

$(document).ready(function() { 
 

 
    getQuote(); 
 

 
    $("#new-quote").on("click", getQuote); 
 

 
    function getQuote() { 
 
    $.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&_jsonp=?", function(a) { 
 
     var quote = ""; 
 
     var author = ""; 
 
     author = a[0].title; 
 
     quote = a[0].content; 
 
     $(".author").html(author); 
 
     $("#quote").html(quote); 
 
     $("#share-button").attr("href", 'https://twitter.com/intent/tweet?text=' + "\"" + $('#quote > p').html() + "\" - " + author); 
 
    }) 
 
    }; 
 
});

問題: を私はクロスドメインスクリプティングの問題について知りません。私が直面している問題は、APIのデータを取得できなかったことです。人々は"&_jsonp"をURLに追加するよう提案しました。しかし、今でも、私のブラウザは、ブラウザがhttpsこのメッセージは、私のCHROM devのコンソールに表示されている要求を送信「HTTPS」 の代わりに「HTTP」要求を送信した場合、それが唯一動作することを追加した後:

jquery- 2.2.4.min.js:4混在コンテンツ: 'https://codepen.io/faisal1337/full/ZOvgNR/'のページがHTTPS経由で読み込まれましたが、安全でないスクリプト 'http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&_jsonp=jQuery22407926761305727481_1469082997979&_=1469082997982'が要求されました。このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。

したがって、 '& _jsonp'は私のウェブサイト上で悪質なコードを実行させます。私は、リクエストが'http'または'https'のいずれであっても、ページが機能するようにしたいだけです。解決策はありますか?

+1

です。 httpsページはhttpsを使用します - それは必要なものですか? –

+0

はい。私はそれを変更しました。そして、それはちょうどうまく動作します。引用符は、そのURLの前に** http **か** https **のいずれかが読み込まれます。ありがとうございました! –

答えて

0

代わりhttp://x.comまたはhttps://x.com使用//x.comを使用しての.. httpページはhttpを使用し、httpsページはhttps

を使用します。つまり、ページは、ページが読み込まれたリクエストに対して同じプロトコルを使用します`http:// x.com`や` https:// x.com`を使うのではなく、http:// http:// https:

0

ajaxed URLで使用httpsあなたが同様のhttpsのサイトを持っている場合は、これはセキュリティ対策にある

$.getJSON("https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&_jsonp=?", function(a) { 
.... 

デモ:https://codepen.io/anon/pen/RRrkWB

関連する問題