2016-12-10 27 views
0

我在這裏做一些代碼,我需要從一個用戶名和密碼的JavaScript客戶端發送一個請求到一個web api。在這個請求中,我需要收到一個令牌。阿賈克斯 - 令牌請求到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"); 

當我執行我收到相關的誤差修改客戶端訪問控制允許來源

否「訪問控制允許來源」頭出現在請求的資源上。因此不允許原產地'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>