2017-12-07 17 views
0

httpsではなくhttpで何かが呼び出されていることがわかりましたが、実際にこの問題を解決する方法はわかりません。安全でないXMLHttpRequestリクエストのため、httpsを超える混合コンテンツ

$.ajax({ 
    type: "GET", 
    url: window.location.href.substring(0, location.href.lastIndexOf("/") + 1) + '/MyService.asmx/MyMethod';, 
    data: 'param=' + JSON.stringify({ "myParam": value.trim() });, 
    dataType: "text", 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
     alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown); 
    }, ... 

私もこの方法が、ありません成功を試してみました:エラーを考えると

Url: '//MyService.asmx/MyMethod'; 

は次のとおりです。 混在したコンテンツ:「https://www.example.com/MyPage.aspx」でのページがHTTPSでロードされますが、安全でないXMLHttpRequestのエンドポイント」を要求されたhttp://www.example.com/MyService.asmx?param=paramValue 'このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。

提案がありますか?

答えて

0

このエラーを引き起こす原因はいくつかあります。

まず、

window.location.href.substring(0, location.href.lastIndexOf("/") + 1) + 'MyService.asmx/MyMethod' 

にURLをconstrutsジャバスクリプト(MyService.asmx前にスラッシュと末尾のセミコロンを削除)

(CONSOLE.LOGにしてください)URLを変更ブラウザでHTTPS経由でアクセスできる場合は、このコードを生成して試してみてください。 URLに到達できない場合、https以外のURLへのリダイレクトがある可能性があります。また、ブラウザのデバッグツール(Chromeの[ネットワーク]タブなど)を使用して、リクエストに何が起きているのかを確認することもできます(ステータスコードの確認、レスポンスヘッダーの確認など)。

関連する問題