Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs返回角度2请求的未定义值_Node.js_Angular_Typescript_Ionic2 - Fatal编程技术网

Node.js Nodejs返回角度2请求的未定义值

Node.js Nodejs返回角度2请求的未定义值,node.js,angular,typescript,ionic2,Node.js,Angular,Typescript,Ionic2,我想使用http.post方法将来自Ionic 2应用程序的数据发布到服务器,但服务器返回未定义的数据 我曾经尝试发送一个字符串,但结果是一样的 以下是Angular 2客户端代码: import { Component } from '@angular/core'; import { NavController, NavParams } from 'ionic-angular'; import { RegisterPage } from '../register/register'

我想使用http.post方法将来自Ionic 2应用程序的数据发布到服务器,但服务器返回未定义的数据

我曾经尝试发送一个字符串,但结果是一样的

以下是Angular 2客户端代码:

  import { Component } from '@angular/core';
  import { NavController, NavParams } from 'ionic-angular';
  import { RegisterPage } from '../register/register';
  import { Http, Headers } from '@angular/http';
  import { ToastController } from 'ionic-angular';
  import { User } from '../../providers/user';

  @Component({
    selector: 'page-login',
    templateUrl: 'login.html'
  })
  export class LoginPage {

  private accounts: Object[] = []
  private headers: Headers;

  private http;

  private toast;

  public email;
  public password;

  public user: User;

  constructor(public navCtrl: NavController, public navParams: NavParams, 
    http: Http, public toastCtrl: ToastController) {

   this.http = http;
   this.toast = toastCtrl;
  }

  ngAfterViewInit() {

  }

  toastMessenger(res : string) {
    let toast = this.toast.create({
      message: res,
      duration: 3000
    });

    toast.present();
  }

  submit() {
    let headers = new Headers();
    headers.append("Content-Type", 'application/json');

    console.log(this.email)

    this.http.post('http://localhost:3000/validation', JSON.stringify(this.email), { headers: headers })
    .subscribe(() => {
      console.log("Dados enviados com sucesso");
    });
}

  changeToRegister() {
   this.navCtrl.push(RegisterPage);
  }
}
这是我的后动词路线:

  app.post('/validation', function(req, res) {
     console.log(req.body); // => undefined
  });

我终于弄错了。在设置主体解析器之前,我正在导入路由

  // config/express.js
  consign()
   .include('infra')
   .then('app/routes')
   .into(app);

   app.use(bodyParser.json());                                                                                                                
   app.use(bodyParser.urlencoded({extended: true}));  
当集合修复此问题时,服务器返回我想要的json对象

  // config/express.js
   app.use(bodyParser.json());                                                                                                                
   app.use(bodyParser.urlencoded({extended: true}));  

   consign()
     include('infra')
     .then('app/routes')
     .into(app);

谢谢大家的帮助。

您的
console.log(this.email)
返回了什么?据我所知,从上面的代码中,您从未实际设置过
此.email
,因此它会像您看到的那样发布
未定义的
。“this.email”返回用户输入:(输入)=“email=$event.target.value”@YagoAzedias check req.query部分您能够从rest客户端发送请求吗?带有“req.query”服务器返回一个无效的javascript对象=>{}