来自角度的空参数

时间:2019-02-24 06:46:06

标签: json angular

我正在尝试使用httpRequest从我的角度应用程序发送参数。 我将Null返回到后端服务器。 我已经检查过Postman和Fiddler都可以使用json对象。 我试过从Post改为Get。 我将Java RestAPI用于以apache Tomcat为服务器的后端。

这是我的登录服务:

@Injectable({
  providedIn: 'root'
})
export class LoginService {
private loginURL='http://localhost:8080/CouponSystemWeb/rest/loginpage/login'
  constructor(private http:HttpClient) { }

 public login(loginDetailes:LoginDetailes):Observable<LoginDetailes>{
  return this.http.post<LoginDetailes>(this.loginURL,loginDetailes,{withCredentials:true})
 } 
}

这是我的登录组件:

import { Component, OnInit } from '@angular/core';
import { LoginDetailes } from 'src/app/Entities/LoginDetailes';
import { LoginService } from 'src/app/services/login.service';
import { Router } from '@angular/router';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
public loggedin:boolean;
public loggedClient:string;
public errormessage:string;
public loginDetailes = new LoginDetailes();
  constructor(private loginservice:LoginService,private router:Router) { }

  ngOnInit() {
  this.loggedin=false;
  }
public onLogin():void{
  const observable=this.loginservice.login(this.loginDetailes);
  observable.subscribe((returnedLoginDetailes:LoginDetailes)=>{
    alert("Login Aquired");
    this.loggedin=true;

  if(this.loginDetailes.clientType=="ADMIN"){
    this.router.navigate(['/crtComp']);
  }
  else if(this.loginDetailes.clientType=="COMPANY"){
  this.router.navigate(['/login']);
  }
  else if(this.loginDetailes.clientType=="CUSTOMER"){
    this.router.navigate(['/login']);
  }else{
    alert("Wrong Login Detailes");  
  }

  }, err => {
  this.errormessage=err.console.error("Wrong Detailes please Check Again!");
  alert(this.errormessage);
}
  )}} 

这是登录实体:

export class LoginDetailes{
    public name:string
    public password:string
    public clientType:string
    constructor(){
    }
}

我已经尝试了ngModel,但是不能解决问题。 我尝试将后端从Post更改为Get。 该问题仅在有角度的App中发生。我可以毫无问题地使用提琴手和邮递员发送参数。

1 个答案:

答案 0 :(得分:1)

好的,答案不在组件或服务中。 问题出在HTML中,我缺少ngModel双向数据绑定,所以我的应用发送了空值。