Интеграция бэкенда в переднюю часть

У нашей организации есть сбор данных на своих серверах. Реализован API-интерфейс мыла, и доступ к данным можно получить с помощью WSDL в пользовательском интерфейсе SOAP. Я фронтенд-разработчик, и когда я делаю запрос POST с помощью XMLHttpRequest для получения результата запроса, он выдает ошибку CORS: «Ответ на предварительный запрос не передает управление доступом». НЕЛЬЗЯ включить CORS на серверах сбора данных. Я использую Liferay для внешнего и внутреннего интерфейса веб-сайта.

Любые предложения, как я могу получить результаты запроса из внешнего интерфейса без включения CORS на серверах баз данных (это отличается от внутреннего сервера Liferay)? Или я могу использовать серверную часть веб-сайта для взаимодействия с базой данных? Или использовать сторонние сервисы, такие как Kinvey?

0
0
135
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня были подобные проблемы в прошлом. Как и вы, я хотел создать на своей машине базовую веб-страницу, содержащую некоторый Javascript для вызова API. При таком подходе у меня возникла проблема CORS, которую вы наблюдаете.

Затем я разместил свою страницу на веб-сервере, и у меня все еще возникла проблема с CORS.

Чтобы решить эту проблему, мне пришлось создать веб-приложение, которое я написал на Java. Этот бэкэнд содержал собственный API. Одним из ресурсов «моего» API была простая оболочка для вызова интересующего API. Затем я изменил написанную мной веб-страницу (теперь все размещены в одном веб-приложении), чтобы вызвать свой API, который, в свою очередь, вызывает интересующий API.

Есть ли другое решение или это единственное?

Muhammad Ali 11.09.2018 07:31

Как вы упомянули, вы не можете включить CORS для API, который вы вызываете, поэтому я не думаю, что у вас есть какие-либо варианты. Сделайте еще несколько исследований здесь для CORS.

Chris Adams 11.09.2018 14:29

Другие вопросы по теме