2017-02-13 5 views
-1

Ich habe vor kurzem ein SSL-Zertifikat auf meiner Website hinzugefügt und seitdem funktionieren einige der jquery-Funktionen nicht mehr. Insbesondere jquery.getJquery.get funktioniert nicht mit ssl

Beispiel:

function getBfeForm() { 
     jQuery.get('/wp-admin/admin.php/?page=booking.multiuser.5.3/wpdev-booking.phpwpdev-booking-resources&tab=availability&wpdev_edit_avalaibility=<?php echo key($_REQUEST['avail']); ?>/', function(data) { 
      jQuery('[name="avail['+<?php echo key($_REQUEST['avail']); ?>+']"]').removeClass('spinner').val('Edit Availability'); 
      if (data) { 
       jQuery('#availHolder .holder').html(jQuery(data).find('.inside')); 
       jQuery('#availHolder .holder').prepend('<div id="popHeader"><a title="Close" class="fancybox-item fancybox-close" href="javascript:;">Close</a></div>'); 
       jQuery('#availHolder').hide(); 
       jQuery('#availHolder').appendTo(jQuery('[data-resource="<?php echo key($_REQUEST['avail']); ?>"]').find('tr.clean td')); 
       jQuery('#availHolder').slideDown(500); 
      } 
     }); 
    } 

Diese Funktion funktioniert gut mit http aber wenn SSL aktiviert ist und https verwendet die Funktion keine Anrufe mehr die Datei. Ich habe andere Kommentare hier gesehen, die sagen, dass das Fehlen von Schrägstrichen das Problem ist, aber ich glaube, ich habe Schrägstriche jetzt korrekt hinzugefügt und es funktioniert immer noch nicht.

Jede Hilfe würde sehr geschätzt werden.

UPDATE: Ich fügte der Funktion alert("Data: " + data + "\nStatus: " + status); hinzu, um zu sehen, welche Daten tatsächlich geliefert wurden. Es wird angezeigt, dass die Anmeldeseite von Wordpress aufgerufen wird und nicht die in der Funktion angegebene Datei. Ich habe dies auf einer doppelten Site ohne SSL getestet und es ruft die richtige Datei auf. Heißt das, das SSL erlaubt keine Verbindung zu wp-admin Dateien?

+1

können Sie diese URL im Browser auf https öffnen? Haben Sie eine Anfrage im Browser-Entwickler-Tools-Netzwerk nach Hinweisen untersucht? Nur sagen, es * "funktioniert nicht" * sagt uns nicht viel – charlietfl

+0

Die URL ist hinter einem Login und jeder Versuch, die URL direkt in einem Browser zu laden scheint den Benutzer zu protokollieren und Redirect auf der Anmeldeseite. Leider taucht auch nichts in der JavaScript-Konsole auf. –

Antwort

0

Ich fand das Problem und posten die Antwort hier für jeden anderen, der ein SSL-Zertifikat implementiert. Das Problem war die benutzerdefinierte Anmeldeseite, die wir haben. Wir benutzen die wp_signon Funktion und wir hatten $user_verify = wp_signon($login_data, false);. Dies sollte $user_verify = wp_signon($login_data, true); sein. Wenn Sie den Wert auf 'true' setzen, wird ein sicheres Cookie erstellt. Wenn der Cookie nicht sicher ist, werden die Benutzer bei jedem Zugriff auf wp-admin-Dateien abgemeldet und müssen sich erneut anmelden.

Für Details überprüfen Sie die wordpress codex für wp_signon.

0

Wenn Sie Windows verwenden und ein lokales Zertifikat in IIS installiert haben, dann versuchen Sie die Seite mit voll qualifizierten Namen der

[computer_name] Computer zugreifen [domain_name]

. Zum Beispiel: [OX pchris11]. [firmenname.com] Dabei steht ox-pchris11 für den Computernamen und firmenname.com für den Domänennamen.

Wenn Sie auf die Site als localhost zugreifen, wird eine Fehlerseite angezeigt, die um Erlaubnis zum Fortfahren bittet.

+0

Kein lokales Zertifikat und es ist nicht auf localhost. Die Website befindet sich auf einem Live-Server. –

Verwandte Themen