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

标签 javascript api model-view-controller server

我正在为一家公司做一个项目,当我使用服务器计算机测试它时,一切正常,但是当我尝试使用员工计算机登录时,它无法连接。

Here's the am getting from chrome developer tools::: Access to XMLHttpRequest at 'http://localhost/smarthrapi/api/auth' from origin 'http://hrm' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

OPTIONS http://localhost/smarthrapi/api/auth 500 (Internal Server Error)

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. 所有 View 都工作正常,就像我尝试 http://servername/hrmanager/HR/anotherpage 时一样页面正在显示,但没有任何效果。

是服务器上的一些限制还是我的代码的问题,我真的不知道请帮助我。我使用 MVC 编写代码,使用 ajax 调用 API,并使用 sqlserver。请该应用程序明天需要上线,这意味着我今天需要修复它。谢谢

最佳答案

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

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

关于javascript - 客户端计算机未连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54923947/

相关文章:

java - 我如何找到天气预报网站的 API?

api - REST API - 通用或特定资源

javascript - 用于更改 NVM Node 版本的 Bash 脚本

javascript - 使用循环增加CSS属性值

javascript - 将第一个可见选项设置为默认值

javascript - 传递不同的菜单项时防止打开新的下拉菜单

python - 导入错误 : cannot import name UserSerializer while creating a demo rest api

ajax - MVC 和 AJAX 概念有什么关系?

c# - 获取 IQueryable 中的所有结果而不是 .FirstOrDefault

ajax - 在 mvc 中,将表单(什么 Controller )的 ajax 脚本放在哪里?