客户端的计算机未连接到服务器

时间:2019-02-28 10:51:00

标签: javascript api model-view-controller server

我正在为一家公司的项目工作,当我使用服务器计算机对其进行测试时,一切工作都很好,但是当我尝试使用员工计算机进行登录时,它没有连接。

  

以下是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
  1. 如果我使用http://localhost/hrmanager/HR/login登录服务器,则服务器可以正常工作,但是当我在员工计算机上尝试http://servername/hrmanager/HR/login时,则无法正常工作。好像没有看到我的代码或无法访问数据库。
  2. 所有视图都工作正常,就像我尝试http://servername/hrmanager/HR/anotherpage时页面显示但没有任何作用。

是服务器上的某些限制还是我的代码中的问题?我真的不知道请帮帮我。我用MVC编写了代码,我使用Ajax调用了API,并且正在使用sqlserver。请将该应用明天启用,这意味着我今天需要对其进行修复。谢谢

1 个答案:

答案 0 :(得分:1)

查看您收到的错误消息,这绝对是CORS问题。为了进一步调查,您是否确定错误消息中提到了API是否在每个客户端的http://localhost/上托管或可用?如果是,那么设置CORS可能会有所帮助。

如果否,它们是否托管在http://servername/上?然后,请检查API URL,在这种情况下,它们应指向http://servername/,而不是localhost。可能要查看的区域是View(.cshtml / .vbhtml)文件和Javascript代码(如果有)。