我正在为一家公司的项目工作,当我使用服务器计算机对其进行测试时,一切工作都很好,但是当我尝试使用员工计算机进行登录时,它没有连接。
以下是chrome开发人员工具提供的信息::: CORS策略已阻止从来源“ http://localhost/smarthrapi/api/auth”访问“ http://hrm”处的XMLHttpRequest:对预检请求的响应未通过访问控件检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头。
选项http://localhost/smarthrapi/api/auth 500(内部服务器错误)
services.AddCors(o => o.AddPolicy("SmartHRCorsPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}));
Cors已启用,这是这里的用法
[EnableCors("SmartHRCorsPolicy")]
public class AuthController : Controller
{ mycode here
是服务器上的某些限制还是我的代码中的问题?我真的不知道请帮帮我。我用MVC编写了代码,我使用Ajax调用了API,并且正在使用sqlserver。请将该应用明天启用,这意味着我今天需要对其进行修复。谢谢
答案 0 :(得分:1)
查看您收到的错误消息,这绝对是CORS问题。为了进一步调查,您是否确定错误消息中提到了API是否在每个客户端的http://localhost/上托管或可用?如果是,那么设置CORS可能会有所帮助。
如果否,它们是否托管在http://servername/上?然后,请检查API URL,在这种情况下,它们应指向http://servername/,而不是localhost。可能要查看的区域是View(.cshtml / .vbhtml)文件和Javascript代码(如果有)。