tom1bc: AJAX JSON Authentifizierung arbeitet nicht korrekt

Beitrag lesen

Hallo zusammen,

wie kann ich Daten abrufen per Ajax JSON Authentifizierung?
Über folgendes Skript bekommen ich immer die .htaccess Abfrage:

  
var username_my = 'user-name';  
var password_my = 'user-paasswort';  
  
function make_base_auth(username_my, password_my) {  
  var tok = username_my + ':' + password_my;  
  // var hash = btoa(tok);  
  var hash = base64.encode(tok);  
  return "Basic " + hash;  
}  
var xhr = null;  
try {  
   xhr = new XMLHttpRequest();  
} catch (e){  
   try{  
      xhr = new ActiveXObject("Msxml2.XMLHTTP");  
   } catch (e){  
      try{  
         xhr = new ActiveXObject("Microsoft.XMLHTTP");  
      } catch (e){  
         xhr = null;  
      }  
   }  
}  
$.ajax({  
    type: "GET",  
    url: "https:// meine url /items",  
    cache:true,  
    dataType: 'jsonp',  
    crossDomain: true,  
    contentType: "application/json; charset=utf-8",  
    async: false,  
    xhrFields:{  
      withCredentials: true  
    },  
    status:status,  
    error: function(xhr, status, error) {  
              alert("error: "+error+"\n\n\nstatus: "+status);  
    },  
    data: { "pastdays": "1", "format":"json" },  
    beforeSend: function (xhr){  
        xhr.setRequestHeader("Content-Type","application/json");  
        xhr.setRequestHeader("Accept","application/json");  
        xhr.setRequestHeader('Authorization', make_base_auth(username_my, password_my));  
        xhr.withCredentials = true;  
        xhr.overrideMimeType("application/json");  
    },  
    dataFilter: function(data) {  
    if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function'){  
          return JSON.parse(data);  
        }else{  
          return eval('(' + data + ')');  
          }  
    },  
    username: username_my ,  
    password: password_my,  
    success: function (status){  
        alert('Thanks for your comment! '+status);  
    }  
  
}).fail(function( status) {  
    var aus = "";  
    jQuery.each(status, function(i, v){  
        aus += i+",\t\t "+v+"\n";  
    });  
    console.log( aus );  
}).done(function( status) {  
    alert( status );  
});  

Wie kann ich die Authentifizierung korrekt „einbauen“?
Damit beim jedem Aufruf die User-Passwort Fenster nicht erscheint?

Gibt es eine andere Möglichkeit der Authentifizierung?

Grüße
Tom