HTTP请求返回状态码0未知错误

时间:2020-08-05 15:00:27

标签: node.js angular express ionic-framework cors

我正在从android上的离子项目测试中调用本地API,但它显示Http响应状态代码0未知错误我确实在寻找许多解决方案,但无济于事。

app.use(function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS');
    res.header("Access-Control-Allow-Credentials", "true",);
    res.header('Access-Control-Allow-Headers', 'Origin, X-Auth-Token, Accept, Content-Type, Authorization, Content-Length, X-Requested-With, x-access-token, Access-Control-Request-Method, Access-Control-Request-Headers');
  next();
});

方法请求API。

    async loginWithFacebook(data) {
        console.log("api USER data from facebook ");
        console.log(data);

        let headers = new HttpHeaders({
            'Content-Type': 'application/json'
        });
        let options = {
            headers: headers
        };

        return await (this.http.post(environment.endpoint + "/users/facebook-login", data, options)).toPromise();
    }

由于某种原因无法调用API。

1 个答案:

答案 0 :(得分:-1)

您只是将标头分配给HTTP响应,这将无法帮助您处理请求的CORS。执行以下操作可能会有所帮助。

使用终端在服务器根目录中安装cors软件包。

npm i cors

将cors导入到您的app.js(服务器的根文件)中。

const cors = require('cors')

为您的应用使用cors。

app.use(cors()) 

您的最终代码应如下所示。

var express = require('express')
var cors = require('cors')
var app = express()
 
app.use(cors())
 
app.get('/products/:id', function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for all origins!'})
})
 
app.listen(80, function () {
  console.log('CORS-enabled web server listening on port 80')
})

Source

相关问题