Ajax - Token请求web api

问题描述 投票:0回答:2

我在这里做一些代码我需要从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请求...

ajax token
2个回答
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>

-1
投票
© www.soinside.com 2019 - 2024. All rights reserved.