首页 > 解决方案 > 查询字符串格式输入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);
    }
  }

标签: asp.net-web-apiangular7

解决方案


此处的“用户 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

      });

推荐阅读