c# - POST 请求上的 Angular 404
问题描述
我正在尝试将凭据从 Angular 传递给 C#,但 Angular 收到 404。我正在关注此处的教程。我传递数据的方式有问题吗?我确定路线是正确的。
选项http://localhost:52008/Account/GetJWT 404(未找到)
login:1 无法加载http://localhost:52008/Account/GetJWT:预检响应没有 HTTP ok 状态。
从帐户控制器:
[Route("[controller]/[action]")]
public class AccountController : Controller
{
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> GetJWT([FromBody]LoginModel user)
{
myJWT m = new myJWT(user);
return Ok(new { Token = m.token });
}
}
调用上述控制器的 Angular 代码:
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Component } from '@angular/core';
import { Router } from "@angular/router";
import { NgForm } from '@angular/forms';
@Component({
selector: 'login',
templateUrl: './login.component.html'
})
export class LoginComponent {
invalidLogin: boolean;
constructor(private router: Router, private http: HttpClient) { }
login(form: NgForm) {
let credentials = JSON.stringify(form.value);
console.log(credentials);
this.http.post("http://localhost:52008/Account/GetJWT", credentials, {
headers: new HttpHeaders({
"Content-Type": "application/json"
})
}).subscribe(response => {
let token = (<any>response).token;
localStorage.setItem("jwt", token);
this.invalidLogin = false;
this.router.navigate(["/"]);
}, err => {
this.invalidLogin = true;
});
}
}
解决方案
推荐阅读
- java - 运行 jdbc 程序时线程“主”java.sql.SQLException 中的异常?
- mongodb - MongoDb 关闭 - 缺少索引文件
- sql - 如何替换 SQL 查询中的字符串
- webassembly - Web 程序集二进制文件会小于 JavaScript/TypeScript 包吗?
- c# - 删除 dotnet 应用程序中的 kubernetes pod
- c# - 已检索数据但未保存或更新 ASP.NET Core 3.1
- angular - 离子电容相机,生成全画质图像并显示,无需生成Base64和DataUri
- javascript - 基于所选儿童数量的动态年龄字段
- python - sqlite3.programmingerror 提供的绑定数量不正确。当前语句使用 1 并且提供了 15
- python - 如何在一行打印语句中的 for 循环中的多个值?