Как решить проблему CORS на реальном устройстве?

Я разрабатываю приложение для Android с использованием Ionic. Я вызываю некоторые API в качестве поставщика данных. При вызове API мы получаем ошибку CORS даже на реальном устройстве, чтобы решить эту проблему, мы использовали прокси. После добавления прокси API работает нормально с веб-браузером, но не с реальным устройством.

"proxies": [{
"path": "/api",
"proxyUrl": "http://192.168.43.221:9090/api"
}]

Теперь это изменило мое происхождение на localhost: 8080, например. URL-адрес http://192.168.43.221:9090/api/getvisitorcount преобразуется в http://localhost:8080/api/getvisitorcount


person Sachin Kumar    schedule 25.09.2018    source источник
comment
Не используйте прокси, если вы запускаете приложение на реальном устройстве.   -  person Altaf Shaikh    schedule 26.09.2018


Ответы (1)


Помните, что Ionic предназначен только для программирования client side, конфигурация промежуточного программного обеспечения cors устанавливается на server side и зависит от языка, фреймворка, библиотеки и т. Д., Которые вы используете.

При HTTP-вызовах вы можете добавлять некоторые параметры, например заголовки.

const headers = new Headers({
  'Content-Type': 'application/json',
  'Authorization': token
});
const options = new RequestOptions({
  headers: headers
});
this.http.post(url, query, options).subscribe(response => {
  console.log(response);
})
person Juan Lozoya    schedule 25.09.2018
comment
Я использовал расширение, которое включает CORS в браузере, и все работает нормально. Как это возможно, если это проблема на стороне сервера? - person Sachin Kumar; 26.09.2018
comment
Ознакомьтесь с fullstack-developer.academy/what-is-cors промежуточным программным обеспечением cors на стороне сервера установить, как и какие источники разрешены. - person Juan Lozoya; 26.09.2018