2016-12-10 6 views
0

Я делаю код здесь, мне нужно отправить запрос от клиента javascript с именем пользователя и паролем в веб-api. В этом запросе мне нужно получить токен.Ajax - Token Request to web api

Это то, что я есть сейчас:

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"); 

Когда я исполняю клиента я получать erros, связанные с Access-Control-Allow-Origin

заголовок

Нет 'Access-Control-Allow-Origin' присутствует на запрошенном ресурсе. Поэтому исходный 'null' не допускается. В ответе был код статуса HTTP 400.

И Запросы на перекрестный поиск поддерживаются только для схем протокола: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Любые идеи? Я новичок в Сети ...

я не уверен, если я делаю запрос AJAX правильно ...

ответ

0

Добавить 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>