首页 > 解决方案 > 无法从后端获取数据得到 404

问题描述

我正在尝试从 angular7 中的后端检索数据,使用HttpClient如下:

import { Component, OnInit } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import * as $ from 'jquery';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {

    constructor(private http:HttpClient){}

    ngOnInit(){
        this.callTesting().subscribe(users => {
            console.log('users is ', users);
        })
    }

    callTesting(){
        console.log('call testing ');
        return this.http.get('https://ibomyangular.azurewebsites.net/api/Courses');
    }
}

但出现以下错误:

{
  "body": {
    "error": "Collection 'Courses' not found"
  },
  "url": "https://myangular.azurewebsites.net/api/Courses",
  "headers": {
    "normalizedNames": {},
    "lazyUpdate": null
  },
  "status": 404,
  "statusText": "Not Found"
}

如果我将 url 粘贴到浏览器https://myangular.azurewebsites.net/api/Coursesjson 会加载。邮递员也以同样的方式获得价值。

我认为这是因为CORS所以我添加了代理 json,例如:

{
  "api/Courses": {
    "target": "https://myangular.azurewebsites.net",
    "secure": false
  },
  "changeOrigin": true
}

但仍然没有得到价值。在package.json我添加了这样的开始:

"start": "ng serve --proxy-config proxy.conf.json", 仍然没有运气。我还缺少什么?有人帮我吗?

提前致谢。

标签: angular7angular-httpclient

解决方案


在我从后端获得真正的 api 之前,我使用了HttpClientInMemoryWebApiModuleangular7,在我评论模块导入后它工作正常。

谢谢!!


推荐阅读