首页 > 解决方案 > Ionic/Angular HTTP post请求在android上不起作用

问题描述

我在浏览器中进行测试时使用了 Angular HTTP,它运行良好,但在实际的移动设备上却不行……显然 HTTP angular 在移动设备上不起作用,我不得不将发布请求转换为离子原生 HTTP。我不确定它是否正确转换以及问题是什么......
此外,获取请求工作正常只是发布请求不起作用。
希望有人可以帮助我。
提前致谢!

我的代码:
角度 HTTP 发布请求

senduserdata(username){
    var dataToSend = {
      username:this.Username,
      password:this.Password,
      usertype:this.getSelectedSubject,
    }

    var url = 'https://mylink.herokuapp.com/login';

    this.http.post(url,{data:JSON.stringify(dataToSend)},{responseType: 'text'}).subscribe(
      (data)=>{
        alert(data);
        if(data === "Logged In Successfully!")
        {
          this.LoginCustomer();
          this.cartservice.setUsernameCustomer(this.Username);
        }
        else if(data === "Welcome!")
        {
          this.LoginStaff();
          this.cartservice.setUsernameStaff(this.Username);
        }
      }
    ) 
  }

离子高级HTTP post请求

senduserdata(){
    var dataToSend = {
      username:this.Username,
      password:this.Password,
      usertype:this.getSelectedSubject,
    }

    var url = 'https://mylink.herokuapp.com/login';

    this.http.post(url,{data:JSON.stringify(dataToSend)},{responseType: 'text'}).then(
      (data)=>{
        this.message= JSON.parse(data.data);
        alert(this.message)
    
        if(this.message === "Logged In Successfully!")
        {
          this.LoginCustomer();
          this.cartservice.setUsernameCustomer(this.Username);
        }
        else if(this.message === "Welcome!")
        {
          this.LoginStaff();
          this.cartservice.setUsernameStaff(this.Username);
        }
      }
    ) 
  }

标签: javascriptangularionic-frameworkhttp-post

解决方案


更新
原来它适用于浏览器,因为我使用的是 CORS 转换器扩展,
我只需要添加我的 node.js 文件

app.all('*', function(req, res, next) {
    var origin = req.get('origin'); 
    res.header('Access-Control-Allow-Origin', origin);
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header('Access-Control-Allow-Headers', 'Content-Type');
    next();
});

var app = express();
var cors = require('cors');
app.use(cors())

推荐阅读