我在这里做一些代码我需要从javascript客户端发送一个用户名和密码的请求到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");
当我执行客户端时,我收到与Access-Control-Allow-Origin相关的错误
请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许原点'null'访问。响应具有HTTP状态代码400。
交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。
有任何想法吗?我是网络新手......
我不确定我是否正确地执行了ajax请求...
添加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>