asp.net-web-api - 查询字符串格式输入UserId和密码
问题描述
我需要一个这种格式的网址:
http://localhost:8089/api/Logins/CheckPassword?ID=[UserID]&Password=[Password]
我的代码不起作用:
登录组件.ts
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Observable } from 'rxjs';
import { LoginService } from '../login.service';
import { Login } from '../login';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
loginForm: FormGroup;
loading=false;
submitted=false;
url: string;
constructor(
private formbuilder: FormBuilder,
private loginService: LoginService,
private router:Router,
private route: ActivatedRoute
) {
if(this.loginService.getLoginById)
{
this.router.navigate(['/']);
}
}
ngOnInit() {
this.loginForm = this.formbuilder.group({
Id: ['', [Validators.required]],
password: ['',Validators.required]
});
}
get f()
{
return this.loginForm.controls;
}
onFormSubmit() {
this.submitted=true;
if(this.loginForm.invalid)
{
return;
}
this.loading=true;
this.loginService.getLoginById()
//.pipe(first())
.subscribe(
data =>{
this.router.navigate([this.url]);
},
error =>
{
this.loading=false;
});
}
}
登录服务.ts
import { Injectable } from '@angular/core';
import { HttpClient, HttpParams } from '@angular/common/http';
import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Login } from './login';
@Injectable({
providedIn: 'root'
})
export class LoginService {
constructor(private http: HttpClient) { }
getLoginById(): Observable<any>{
const _params=new HttpParams();
_params: _params.set('ID=','UserID');
_params: _params.set('Password=','Password');
return
this.http.get('http://localhost:8089/api/Logins/CheckPassword?',
{
params:_params
});
console.log(_params);
}
}
解决方案
此处的“用户 ID”和“密码”应替换为实际值。我在您获取这些值的代码中看不到它。您需要调用一个方法来填充您的用户 ID 和密码
const _params=new HttpParams();
_params: _params.set('ID=','raju');
_params: _params.set('Password=','password123');
return
this.http.get('http://localhost:8089/api/Logins/CheckPassword?',
{
params:_params
});
推荐阅读
- numpy - 当可用 RAM 小于文件大小时,Numpy memmap 使用 Pytorch Dataloader 节流
- sql - 多次加入同一列
- sql-server - 无法从一台 PC 连接到另一台 PC 的 SQL Server Express 数据库
- c# - 当列表参数超过 1 项时,方法将不起作用
- c++ - C++ 库相关查询
- user-defined-functions - 过程与函数中的 CURRENT_ROLE() 行为
- python - 如何加快 Spacy 的 nlp 调用?
- java - Java 正则表达式验证字符串
- python - 在另一个函数中使用来自 json.load 的变量
- sql - 创建计算列以显示缺少哪一列