C# 带有Angular和.Net的HttpRequest问题
我对http响应有问题。我不知道问题出在哪里。谁能帮帮我吗? ts文件: 共享服务:C# 带有Angular和.Net的HttpRequest问题,c#,angular,http,asp.net-web-api,C#,Angular,Http,Asp.net Web Api,我对http响应有问题。我不知道问题出在哪里。谁能帮帮我吗? ts文件: 共享服务: import { Injectable } from '@angular/core'; import {HttpClient} from '@angular/common/http' import { Observable } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class SharedService { readonly A
import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http'
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class SharedService {
readonly APIUrl = 'https://localhost:44336/api';
constructor(private http:HttpClient) { }
getTodayList(): Observable<any[]>{
return this.http.get<any>(this.APIUrl+'/today')
}
addToday(val:any){
return this.http.post(this.APIUrl + '/Today', val)
}
updateToday(val:any){
return this.http.put(this.APIUrl + '/Today', val)
}
deleteToday(val:any){
return this.http.delete(this.APIUrl + '/Today', val)
}
getPlannedList(): Observable<any[]>{
return this.http.get<any>(this.APIUrl + '/planned')
}
addPlanned(val:any){
return this.http.post(this.APIUrl + '/planned', val)
}
updatePlanned(val:any){
return this.http.put(this.APIUrl + '/planned', val)
}
deletePlanned(val:any){
return this.http.delete(this.APIUrl + '/planned', val)
}
}
所有东西都在邮递员中工作,值存在于数据库中。我刚刚检查了GET方法,但它不起作用。角度和未定义返回值中的Iit错误
错误可能是由于从与Angular应用程序运行端口不同的端口调用后端API造成的。您可能需要首先在ASP.NET项目中启用CORS,以允许从另一个域或不同的端口号调用API 如果您使用的是ASP.NET Core,请安装此软件包Microsoft.AspNetCore.Cors并在Startup.cs中进行配置 检查这个答案
在我的应用程序中添加了COR。仍然不起作用。同样的问题。我认为这是Angular中的问题。在ConfigureServices中还添加了services.AddMvc(options=>options.EnableEndpointRouting=false)。没有这个我不能用CORS
import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http'
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class SharedService {
readonly APIUrl = 'https://localhost:44336/api';
constructor(private http:HttpClient) { }
getTodayList(): Observable<any[]>{
return this.http.get<any>(this.APIUrl+'/today')
}
addToday(val:any){
return this.http.post(this.APIUrl + '/Today', val)
}
updateToday(val:any){
return this.http.put(this.APIUrl + '/Today', val)
}
deleteToday(val:any){
return this.http.delete(this.APIUrl + '/Today', val)
}
getPlannedList(): Observable<any[]>{
return this.http.get<any>(this.APIUrl + '/planned')
}
addPlanned(val:any){
return this.http.post(this.APIUrl + '/planned', val)
}
updatePlanned(val:any){
return this.http.put(this.APIUrl + '/planned', val)
}
deletePlanned(val:any){
return this.http.delete(this.APIUrl + '/planned', val)
}
}
<table class="table">
<thead>
<tr>
<td>Employee Codetd </td>
<td> Nametd </td>
<td>Department </td>
<td>Locationt </td>
</tr> </thead>
<tbody>
<tr *ngFor="let rec of TodayList">
<td>{{rec.record}}</td>
</tbody>
<table>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using ToDoList.Data;
using ToDoList.Interfaces;
using ToDoList.Models;
namespace ToDoList.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class TodayController : ControllerBase
{
private readonly IRecordRepository<RecordsToday> repo;
public TodayController(IRecordRepository<RecordsToday> r)
{
repo = r;
}
[HttpGet]
public IActionResult GetAllRecords()
{
var res = repo.GetRecordsList();
if (res != null)
{
return Ok(res);
}
return BadRequest("No records");
}
[HttpGet]
[Route("{id}")]
public IActionResult GetRecordById(int id)
{
var res = repo.GetRecord(id);
if (res != null)
{
return Ok(res);
}
return BadRequest("Record missing");
}
[HttpPost]
public IActionResult AddRecord(RecordsToday record)
{
repo.Create(record);
return Ok("Record saved");
}
[HttpPut]
public IActionResult UpdateRecord(RecordsToday record)
{
repo.Update(record);
return Ok("Record updated");
}
[HttpDelete]
public IActionResult DeleteRecord(RecordsToday record)
{
repo.Delete(record);
return Ok("Record deleted");
}
}
}
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using ToDoList.Interfaces;
using ToDoList.Models;
namespace ToDoList.Data
{
public class RecordRepository<T> : IRecordRepository<T> where T : BaseEntity
{
private readonly RecordDbContext _context;
private readonly DbSet<T> entity;
public RecordRepository(RecordDbContext db)
{
_context = db;
entity = _context.Set<T>();
}
public void Create(T item)
{
if (entity == null)
throw new ArgumentNullException("item");
entity.Add(item);
Save();
}
public void Delete(T item)
{
if (entity == null)
throw new ArgumentNullException("item");
entity.Remove(item);
Save();
}
public T GetRecord(int id)
{
return entity.FirstOrDefault(c => c.id == id);
}
public IEnumerable<T> GetRecordsList()
{
return entity.AsEnumerable();
}
public void Save()
{
_context.SaveChanges();
}
public void Update(T item)
{
if (entity == null)
throw new ArgumentNullException("item");
entity.Update(item);
Save();
}
}
}
using System.ComponentModel.DataAnnotations;
namespace ToDoList.Models
{
public class RecordsToday : BaseEntity
{
[Required]
public string record { get; set; }
}
}