Ich mache Cross-Domain-Ajax-Anfrage, um einige Daten zu erhalten. Der REST-Service hat Basic authentication
(festgelegt über IIS
).Cross-Domain-Ajax-Anfrage Basis-Authentifizierung
$.ajax({
type: "GET",
xhrFields: {
withCredentials: true
},
dataType: "jsonp",
contentType: "application/javascript",
data: myData,
async: false,
crossDomain: true,
url: "http://xx.xx.xx.xx/MyService/MyService.svc/GetData",
success: function (jsonData) {
console.log(jsonData);
},
error: function (request, textStatus, errorThrown) {
console.log(request.responseText);
console.log(textStatus);
console.log(errorThrown);
}
});
Wenn ich diesen Antrag stellen, fordert es mich Anmeldeinformationen & ich manuell eingeben müssen, um Anmeldeinformationen geben Sie die Antwort zu erhalten. Können wir diese Anmeldeinformationen über die Anfrage selbst senden?
Ich bin nicht aufgeregt über diese Antwort, und hier ist der Grund: es überflüssig ist (Frage über ein halbes Jahr früher beantwortet wurde) und es ist überflüssig (jQuery behandelt das Auth-Zeug für Sie, AFAICT). Wenn ich mich bei letzterem irren sollte, editiere die Antwort und ich werde diesen Kommentar löschen. –
Die Verwendung der beforeSend-Eigenschaft funktionierte für mich, da Benutzername und Kennwort aus irgendeinem Grund den Berechtigungsheader nicht hinzufügten. Nur für den Fall, dass es jemandem hilft. – rodrigobartels