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