当前位置: 首页 > 知识库问答 >
问题:

角度-加载资源失败:服务器以404状态响应

颛孙凯定
2023-03-14

我有一个带有ASP. NET Core Web API后端和Angulal-13前端的项目。

Web API有这样一个endpoint:https://localhost:5001/api/v1/admin/teachers

登录后,当我将生成的不记名令牌粘贴到POSTMAN时,它会给出这样的结果:

{
  "result": [
    {
        "full_name": "Jamilu Kingston",
        "account_number": "1234567821",
        "user_name": "kingston",
        "mobile_number": "08099889921",
    }
  ],
  "page": 1,
  "per_page": 10,
  "total_pages": 1
}

从Angular前端,我有这些代码。

角度

teacher.service:

export class TeacherService {
  baseUrl = environment.apiUrl;
  token = localStorage.getItem('token');

  httpOptions = {
    headers: new HttpHeaders({'Content-type': 'application/json'}).set('Authorization',  `Bearer ${this.token}`)
  };

  constructor(
    private http: HttpClient,
    private router: Router
    ) { }

  getAllTeachers(): Observable<any> {
    return this.http.get(this.baseUrl + 'admin/teachers', this.httpOptions);
  }
}

教师组件:

export class TeachertsComponent implements OnInit {
  allTeacherList: any[] = [];

  constructor(
    private fb: FormBuilder,
    private teacherService: TeacherService,
    private router: Router,
    private toastr: ToastrService
    ) { }

  ngOnInit(): void {
    this.loadAllTeachers();
  }

  loadAllTeachers(){
    this.teacherService.getAllTeachers().subscribe({
      next: (res: any) => {
       console.log(res);
      },
      error: (error) => {
        this.toastr.error(error.message);
      }
    })
  }
}

我本以为它会加载所有的老师,但我遇到了这个错误:

加载资源失败:服务器响应状态为404

当我查看开发者网络时,我发现:

Request URL: https://localhost:5001/api/v1/admin/teachers
Request Method: GET
Status Code: 404 
Remote Address: [::1]:5001
Referrer Policy: strict-origin-when-cross-origin
access-control-allow-origin: *
content-length: 0
date: Thu, 13 Jan 2022 10:03:27 GMT
server: Kestrel
www-authenticate: Bearer error="invalid_token"
:authority: localhost:5001
:method: GET
:path: /api/v1/admin/teachers
:scheme: https
accept: application/json, text/plain, */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
authorization: Bearer "something is here"
origin: http://localhost:4200
referer: http://localhost:4200/

从上面的开发者网络中可以看到承载令牌。还有当我做控制台的时候。日志(承载${this.token});

我那里也有。

甚至连控制台都没有。对数(res);

我该如何解决这个问题?

谢啦

共有1个答案

苏凯
2023-03-14

您的“内容类型”拼写错误。但由于默认情况下内容类型设置为json,并且您没有任何内容,请尝试以下语法

const headerObj =new HttpHeaders().set("Authorization", "Bearer ${this.token}");

httpOptions = {
    headers:headerObj
  };

 类似资料:
  • 我正在运行一个spring MVC应用程序,下面是我的项目结构。 在我的中,我尝试在header部分加载js。 但我在浏览器中发现了以下错误。 在我的spring文件中,我添加了 有人能指出我犯的错误吗?

  • 我在我的服务器上部署反应应用程序,它在localhost上运行良好,但当我试图在我的服务器上使用它时,我得到了 加载资源失败:服务器响应状态为404(未找到)shayankh。me/graphql 我在服务器上的根位置是 /var/www/html/ '这是我的server.js 和索引。js 我不知道我的问题出在哪里。是否有可能是因为服务器的根位置,我的应用程序找不到GraphQL?我还在我的服

  • 当我导航到authenticated url时,所有静态内容(甚至是href中的url)都与路由的url附加在一起,因为我得到的是该页面中的所有资源和href元素中的所有url的404 对于E.X 当我导航到MyApp/Reports/my静态内容已更改为 通常在html中看起来像 null null 我在这里错过了一些东西,甚至我已经enebled了MVC:Resources

  • 我在浏览器中收到错误消息“加载资源失败:服务器响应状态为404”,我正在使用Node/Express、Mongo数据库和Docker。没有Docker一切正常。 文件夹结构: 后端 服务器 服务器。js公司 src公司 索引。html server.js 指数html 包裹json{脚本} 文档文件 docker编写。yml公司 如果我在浏览器中输入“192.168.99.100:3000/gal

  • 我正在学习Lynda关于Javascript和Ajax以及hungup的教程,主题是“使用同步XHR请求”。 html文件基本上是: javascript文件为: data.txt文件上有“Hello World”。 项目文件的路径为 当我打开wampserver上的localhost并执行inspect元素时,我得到了上面的错误:“未能加载资源:服务器响应状态为404(not found)” 不

  • 我有angular 6应用程序在我的本地机器上,一切都按照我想要的完美工作,完成项目后我将其部署到heroku,当我运行我的应用程序时,这里是指向heroku中应用程序的链接:测试应用程序 正如您所看到的,我在控制台浏览器中遇到以下错误 加载资源失败:服务器响应状态为404(未找到) 这是我在github中的应用程序结构 github中的应用程序回购 为了快速参考,这里是服务器。js 这是hero