在Angular中发送POST请求到Asp.net MVC控制器的Action方法时,需要确保请求的正确设置。以下是实现POST请求的示例代码:
Angular Service代码:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class MyService {
private apiUrl= 'api/MyController/MyAction';
constructor(private http: HttpClient) {}
postData(data: any): Observable {
const token = localStorage.getItem('token');
const headers = new HttpHeaders().set('Content-Type', 'application/json')
.set('Authorization', `${token}`);
return this.http.post(this.apiUrl, data, {headers: headers});
}
}
控制器代码:
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
[Route("api/MyController")]
[ApiController]
public class MyController : ControllerBase
{
[HttpPost("MyAction")]
public async Task> MyAction(MyObject myObject)
{
// 处理请求并返回结果
}
}
在发送POST请求时,确保请求的URL、请求头和请求体都正确设置。如果请求仍然不会触发Action方法,可以尝试使用开发者工具进行调试,并检查请求是否发送到了正确的URL。