HTTP-запрос возвращает код состояния 0 неизвестная ошибка - PullRequest
0 голосов
/ 05 августа 2020

Я вызываю локальный API из проекта ioni c, тестирование на android, но он показывает код состояния ответа 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 голосов
/ 05 августа 2020

Вы просто назначаете заголовок HTTP-ответу, который не поможет вам с CORS запроса. Выполнение следующих действий может помочь.

Установить пакет cors на сервер root с помощью терминала.

npm i cors

Импортировать cors в ваше приложение. js (файл root вашего server).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...