Cors включен Ax ios получить запрос не удалось - PullRequest
0 голосов
/ 27 марта 2020

с 2 API. метод POST-Login, метод GET-данных. и на сервере включены cors. API входа в систему работает нормально, но при вызове API с помощью метода GET происходит сбой. Код:

-> api Login-POST

const login = async (email, password) => {
  console.log("in auth service");
  const userDetail = {
    username:email,
    // email,
    password
  };

  try {
    // unsetHeadersWithUserToken();
    const afterSuccess = await api.post(apiDetail.auth.url,  userDetail); 

    if (afterSuccess) {
      return afterSuccess.data;
    }
  } catch (error) {
    console.log("error: ", error.response.error);
    if (error.category === 'User Permissions') {
      // forceLogout();
    }
    throw error;
  }
};

-> api-GET

try{
    // console.log("url : ", apiDetail.partnerLocations.url);
let token = sessionStorage.getItem('token');
setHeadersWithUserToken(token);
    let apiResponse = await api.get(apiDetail.partnerLocations.url);
    return apiResponse;
}catch(error){
    console.info('##### demand-response.js:11 #####');
    console.info('========================= Start =========================');
    console.error('error = ', JSON.stringify(error));
    // console.log(error.response.data)
    console.info('========================== End ==========================');
    throw error;
}

-> топор ios вызов

   import axios from 'axios';
import { environment } from '../../utils/constants';

let api;
let apiDetail = {
  baseURL: environment.baseURL,
  headers: {
    'Content-Type': 'application/json',
    'Access-Control-Allow-Origin': '*'
  }
};
const setAPI = apiDetail => {
  api = axios.create(apiDetail);
};
setAPI(apiDetail);
const setHeadersWithUserToken = token => {
  api.defaults.headers.common['Authorization'] = token;
};
export {
  api,
  setHeadersWithUserToken,
};

Изображение-1 enter image description here с отображением ошибки консоли

Изображение-2 enter image description here ответ на сетевой вызов

Ответы [ 2 ]

2 голосов
/ 27 марта 2020

Попробуйте это

const proxyurl = "https://cors-anywhere.herokuapp.com/"
cosnt url = 'Your URL'
axios.get(proxyurl + url)

Я столкнулся с той же проблемой, и это прекрасно работает.

1 голос
/ 27 марта 2020

Добавьте свойство «proxy» (находится внизу) в пакет. json:

"proxy": "http://localhost:<PORT-GOES-HERE>"

Теперь вместо выполнения HTTP-запросов, таких как:

axios.get("http://localhost:8080/example")

Вы должны написать их так:

axios.get("/example")
...