2017-12-07 24 views
0

https 대신 http를 통해 호출되는 것을 알고 있지만 실제로이 문제를 해결하는 방법을 모르겠습니다.안전하지 않은 XMLHttpRequest 요청으로 인해 https가 혼합 된 콘텐츠

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

감안할 오류는 다음과 같습니다 : 혼합 내용 :

$.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); 
    }, ... 

는 난이 방법하지만 성공 시도 '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 자바 스크립트 변경) (CONSOLE.LOG의 URL을

시도를 (MyService.asmx 전에 슬래시를 제거하고 마지막에 세미콜론) 이 코드는 브라우저에서 HTTPS를 통해 액세스 할 수 있는지 확인한 후 시도합니다. URL에 도달 할 수없는 경우 https가 아닌 URL로 리디렉션 될 수 있습니다. 또한 브라우저 디버그 도구 (예 : 크롬 탭의 네트워크 탭)를 사용하여 요청 사항 (상태 코드 찾기, 응답 헤더 확인 등)을 확인할 수 있습니다.