HTTP Post请求未发送来自离子的主体或参数数据

时间:2019-07-25 11:43:14

标签: javascript node.js ionic-framework

HTTP发布请求未将正文或参数数据发送到服务器

如果这是一个重复的问题,请原谅我。我已经看过几个关于堆栈溢出的类似问题,但是没有一个问题解决了我的问题。还尝试使用GET请求而不是POST请求,但正文数据仍未发送。

客户端代码:

// ionic code
homeUrl: string = 'http://localhost:80';
let obj = {"name": "Guest"};
let response = this.httpClient.post(this.homeUrl + '/admin-signup', JSON.stringify(obj));
    response.subscribe(data => {
      console.log('response: ', data);
      //TODO: handle HTTP errors
    });

服务器端代码:

server.post('/admin-signup', (req, res) => {
  console.log('sign')
  console.log(req.body);
  // TODO: Process request
  res
    .status(200)
    .send(JSON.parse('{"message": "Hello, signup!"}'))
    .end();
});

2 个答案:

答案 0 :(得分:0)

我对离子不熟悉 但我猜这是一个问题

您可以尝试使用cors吗?

const cors = require('cors');
app.use(cors());

答案 1 :(得分:0)

首先,导入http客户端

import { HttpClient, HttpHeaders } from '@angular/common/http';

然后执行以下操作

const header = new HttpHeaders({
      'Content-Type': 'application/json',
       Accept: 'application/json'
       //api token (if need)
});    
const options = {
       headers: header
}
let response = this.httpClient.post(this.homeUrl + '/admin-signup', obj, options);
        response.toPromise().then(data => {
          console.log('response: ', data);
          //TODO: handle HTTP errors
        }).catch((err) =>{
           console.log('error', err);
        });

希望它可以解决您的问题。