私はhttp(s)://www.api.domain.com
に自分のAPIを持っています(HTTPSにはRapidSSLがインストールされています)。HTTPSのjQuery AJAX - リソースのロードに失敗しました
私はブラウザを介してそのURLをacccessなら、私は大丈夫です
{"error":{"code":404,"message":"Invalid API version."}}
を取得します。私はhttps://www.api.domain.com/v1/auth
にアクセスする場合
は、私が(そのAPIは、SSLでOK働くサイン)もOKです
{"error":{"code":404,"message":"Missing authorization header."}}
を取得します。
他のドメインからそのAPIへのjQuery AJAX呼び出しがあります。 SSLなしで電話をすると(http://www.api.domain.com/v1/auth
)、すべてが正常に機能しています(認証ヘッダーとその他の必要なものを送信しています)、私は応答を得ています。 SSL(https://www.api.domain.com/v1/auth
)と同じものにアクセスしようとすると、私はOPTIONS https://www.api.domain.com/v1/auth Resource failed to load
となります。
また、CORSが機能しています。 PHP側では、私は
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Authorization, x-domain-accesskey, X-Requested-With');
exit;
}
だから、それは働いているが、SSLなしでのみです。クロムで私はオプション要求を参照してくださいGET/POST /何でも私が要求した。それは正常に動作しています。
しかし、私はHTTPSに移動しようとすると、
リソースは、私はこの(なぜ最初の画像にOPTIONSを示しているかわからない、だけを持つネットワーク]タブで
のロードに失敗しましたしかし、詳細POST)

、その後はただ...停止しますか? jQueryのでは
xhr.send((s.hasContent && s.data) || null);
$.ajax
ライン上に停止(crossDomain: true
、dataType: jsonp
または何か他のものを持っていない)が正常です。
アイデア?
私も同じ問題を抱えています。しかし、あなたが上記のことを理解できませんでした。詳細に説明してください。 – shashaDenovo
@shashaDenovo https経由でページを読み込んでいる場合は、https経由でスクリプトを呼び出す必要があります.HTTPではなくhttps経由でスクリプトを呼び出す必要があります。これを実装する方法はいくつかありますが、Googleアナリティクススクリプトは事前にプロトコルを検出しています。 Youtubeの埋め込みビデオは ':// script_name'のようなものです – Rooster