2016-06-20 11 views
-1

Egal, welche Methode ich versuche, Kopfzeilen in AJAX-Anruf und egal welchen Header ich jedes Mal setzen, wenn es eine Kopfzeile ist, mein AJAX-Anruf abgebrochen wird, und Anruf nicht gehen, und da ich Authorization-Header festlegen müssen, wenn keine Header besteht, rufen Sie kehrt 401.

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
    $("button").click(function(){ 
 

 
var authorizationToken=1; 
 
$.ajax 
 
({ 
 
type: "GET", 
 
url: "http://<someURL>?$format=json", 
 
beforeSend: function (request) 
 
      { 
 
       request.setRequestHeader("Authority", authorizationToken); 
 
      }, 
 
success: function(){ 
 
    alert('Thanks for your comment!'); 
 
}, 
 
error: function (a,b,c,d){ 
 
    alert('Try again please'); 
 
} 
 
}); 
 
}); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 

 
<button>Send an HTTP GET request to a page and get the result back</button> 
 

 
</body> 
 
</html>

wenn kein Header vorhanden ist, Anruf wird nicht abgebrochen und 401 wird zurückgegeben. Kannst du mir bitte sagen, was in AJAX falsch ist? Da dies im Rest-Client mit demselben Server funktioniert, denke ich nicht, dass es sich um ein Serverproblem handelt.

+0

Wird die Anfrage an den Server weitergeleitet? Kannst du es mit etwas wie Fiddler sehen? (Bedenken Sie, dass Sie keine Localhost-Anfragen mit Fiddler sehen können, also müssen Ihr Client und Server auf 2 verschiedenen Hosts laufen). – Neil

+0

http://stackoverflow.com/questions/27990010/authorisation-header-appended-only-once-in-ajax-cors-request – Luka

+0

Verwenden Sie die Entwickler-Tools in Ihrem Browser. Schau auf die Konsole, zeigt es irgendwelche Fehlermeldungen? Sehen Sie sich die Registerkarte Netzwerk an. Wird die Anfrage gesendet, die Sie erwarten? Ich wette momentan auf einen Verstoß gegen die gleichen Ursprungsrichtlinien. – Quentin

Antwort

-1

Meinst du, den Authorization Header anstelle von Authority zu setzen?

+0

Ja, es war Authorization, wie ich bereits sagte, hier ist seine Autorität, nur um Code und Problem zu zeigen, ist auch wenn ich Autorität passiere, das gleiche Problem passiert, kein Anruf geht. – RohitAneja