2016-12-10 2 views
0

Ich mache einige Code hier muss ich mit einem Benutzernamen und einem Passwort an einen Web-api eine Anfrage von Javascript-Client senden. In dieser Anfrage muss ich ein Token erhalten.Ajax - Token Anfrage an Web-api

Dies ist, was ich habe jetzt:

var loginData = { 
    grant_type: 'password', 
     //Username and password are fill by the user in the text fields 
    username: username, 
    password: password 
}; 

    $.ajax({ 
    type: 'POST', 
    crossDomain: true, //I'm having some problems with: Access-Control-Allow-Origin 
    crossOrigin:true, 
    contentType: "application/json", 
    url: 'https://localhost:44380/Token', 
    data: loginData 
}).done(function (data) { 
    self.user(data.userName); 
    sessionStorage.setItem("Token", data.access_token); 
}).fail("Error"); 

Wenn ich den Client i erros auf Access-Control-Allow-Origin

Nein "Access-Control-Allow-Origin-Header im Zusammenhang erhalten ausführen ist auf der angeforderten Ressource vorhanden. Origin 'null' ist daher nicht erlaubt. Die Antwort hatte HTTP-Statuscode 400.

Und Kreuzherkunftsanforderungen werden nur für Protokollschemas unterstützt: http, Daten, Chrom, Chrome-Erweiterung, HTTPS, Chrome-Erweiterung-Ressource.

Irgendwelche Ideen? Ich bin ein Anfänger in Web ...

Ich bin nicht sicher, ob ich richtig die Ajax-Request mache ...

Antwort

0

hinzufügen web.config

<system.webServer> 
 
    <httpProtocol> 
 
     <customHeaders> 
 
     <add name="Access-Control-Allow-Origin" value="http://[your service domain]" /> 
 
     <add name="Access-Control-Allow-Methods" value="*" /> 
 
     <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept, Authorization"/> 
 
     <add name="Access-Control-Allow-Credentials" value="true"/> 
 
     </customHeaders> 
 
    </httpProtocol> 
 
    </system.webServer>

Verwandte Themen