4 Stimmen

Standortübergreifende HTTP-Authentifizierung in JQuery

Ich möchte sehen, ob es möglich ist, sich bei einer dritten Website anzumelden, die HTTP-Authentifizierung verwendet. Im Idealfall speichert der Browser die Anmeldedaten. Leider schlägt dies jedes Mal fehl. Jede Hilfe wäre sehr geschätzt, ich bin mit der base64 Jquery-Plugin, die ich getestet habe, zu arbeiten.

Also, zwei Fragen:

  1. Wie kann ich den HTTP-Statuscode anzeigen?
  2. Wird dies letztendlich prinzipiell funktionieren?

<script>
$("#login_button").click(function() {   
        var username = 'myFunUsername';
        var password = 'myFunPassword';

        $.ajax({
                url: 'http://remote-site-with-http-auth.com/member_site',
                beforeSend: function(xhr) {
                        xhr.setRequestHeader("Authorization", "Basic " + $.base64.encode(username + ":" + password));
                },
                success: function(data) { $("#label").text("Logged in, yay!"); }
        }).fail(function(){ $("#label").text("It didn't work"); });

});

Danke!

2voto

Imdad Punkte 5854
var user= 'myFunUsername';
var pwd= 'myFunPassword';
        $.ajax({
                url: 'http://remote-site-with-http-auth.com/member_site',
                crossDomain:true,
                username :user,// Keep the variable name different from parameter name to avoid confusion
                password:pwd,
                xhrFields: { /* YOUR XHR PARAMETERS HERE */}

                beforeSend: function(xhr) {
                       // Set your headers
                },
                success: function(data, textStatus, xhr) {
                    alert(xhr.status);// The status code
                    //Code for success
                }
        }).fail(function(){ 
               //Fail code here
               });

Weitere Einzelheiten zu den Parametern finden Sie unter http://api.jquery.com/jQuery.ajax/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X