Unten ist meine Funktion zum Senden einer Anfrage senden:Kann nicht Autorisierungsheader mit Ajax
function invokeService() {
$(document).ready(function() {
var user = "User1";
var pass = "Pwd1";
var hash_str=make_base_auth(user, pass);
// the post to your webservice or page
$.ajax({
method: "GET",
xhrFields: {
withCredentials: true
},
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', hash_str);
},
headers: {
'Authorization': 'Basic ' + hash_str
},
url: "http://Servername/ProjName/TestService.svc/GetDetails/" + $('#itemid').val(),
contentType: "application/json; charset=utf-8",
dataType: "jsonp"
});
});
}
ich verschiedene Arten versucht haben, durch Benutzername und Passwort direkt über so etwas vorbei:
$.ajax({
method: "GET",
username: user,
password: pass,
...
});
und indem ich Autorisierungsheader setze, aber jedes Band, das ich es in Fiddler prüfe, in Auth
Abschnitt der Anfrage es besagt, dass "keine Berechtigung headerr anwesend ist". Es sendet es einfach nicht. Kann mir jemand helfen, meinen Berechtigungsheader zu reparieren?
Unten ist das, was in einem Request-Header in Fiddler zeigt sich:
GET /projName/TestService.svc/GetDetails/ABC123?callback=jsonpxxxxxxxxxxxxx HTTP/1.1
Client
Accept: application/javascript, */*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Transport
Connection: Keep-Alive
Host: ServerName
ist es nicht die Codierung, die das Problem ist, ist nur, dass die Kopfzeile nicht gesendet wird – ElenaDBA
Ich habe verstanden, aber ich erinnere mich an das gleiche Problem, wenn ich versuchte, Benutzerauthentifizierung auf die gleiche Weise zu senden. –