angularJS发布CORS
Posted
技术标签:
【中文标题】angularJS发布CORS【英文标题】:angularJS post CORS 【发布时间】:2021-08-11 10:24:40 【问题描述】:我是AngularJS
的新手,还在学习。我在下面有这个 angularJS
代码来检查我的 API 中的登录凭据。但是在登录时(单击我的登录按钮),它并没有在我的 API 代码中达到我的断点。 API 和登录代码都在我的本地机器上运行。我附上了 CORS 错误的图片。
AngularJS
data = 用户名:'user',密码:'pass'
app.service('services', function ($http, $window)
services = ;
//Set the link once in upon open of project
localStorage.setItem('link', 'http://localhost:63763/');
var surl = localStorage.getItem('link');
services.signin = function (data)
var result = $http(
method: 'POST',
url: surl + 'api/auth/signin', data: data,
).then(function (response)
return response;
, function (err)
return err;
);
return result;
;
return services;
);
API
[HttpPost]
[Route("signin")]
public IHttpActionResult Authenticate([FromBody] UsersSigninDTO dto)
//Codes
类 DTO
public class UsersSigninDTO
[Required(ErrorMessage = "username is required.")]
public string username get; set;
[Required(ErrorMessage = "password is required.")]
public string password get; set;
[Error Picture]
【问题讨论】:
【参考方案1】:我解决了。在 API 代码方面,我在 WebApiConfig.cs
下添加了这些代码
config.MapHttpAttributeRoutes();
EnableCorsAttribute CorsAttribute = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(CorsAttribute);
【讨论】:
【参考方案2】:您在调用 localhost 时使用了 2 个不同的端口,从而触发了 CORS。
App 似乎是从 localhost:51216 加载的,而对 API 的请求似乎是 localhost:63763
如果你从 localhost:63763 加载你的应用呢?
也许您同时运行 2 个 webpack 实例?检查你的配置。
【讨论】:
以上是关于angularJS发布CORS的主要内容,如果未能解决你的问题,请参考以下文章