2017-12-07 12 views
0

Ich weiß, dass etwas über HTTP statt https aufruft, aber eigentlich weiß ich nicht, wie ich dieses Problem beheben kann!Mixed-Content über https, weil eine unsichere XMLHttpRequest Anfrage

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

Ich habe sogar versucht auf diese Weise, aber keinen Erfolg:

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

Gegeben Fehler ist: Mixed Inhalt: Die Seite auf 'https://www.example.com/MyPage.aspx' über HTTPS geladen wurde, sondern aufgefordert, einen unsicheren XMLHttpRequest Endpunkt 'http://www.example.com/MyService.asmx?param=paramValue ". Diese Anfrage wurde blockiert. Der Inhalt muss über HTTPS bereitgestellt werden.

Irgendwelche Vorschläge?

Antwort

0

Es gibt verschiedene Dinge, die diesen Fehler auslösen können.

Vor allem die JavaScript ändern, die Ihre URL zu

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

Versuchen Sie, console.log() (Schrägstrich vor MyService.asmx und das Semikolon am Ende entfernen) die URL diesen Code produzieren und versuchen, wenn es über HTTPS in Ihrem Browser erreichbar ist. Was passiert, wenn die URL nicht erreichbar ist, kann es zu einer Nicht-HTTPS-URL umgeleitet werden. Sie können auch Browser-Debug-Tools verwenden (wie Chrome prüfen Sie die Registerkarte Netzwerk), um zu sehen, was mit Ihrer Anfrage passiert (suchen Sie nach Status-Code, überprüfen Sie die Antwort-Header usw.).

Verwandte Themen