Dynamics 365 (финансы и операции): проблема CORS при использовании URL конечной точки службы ODATA из чистого приложения javascript

#axapta #x #dynamics-365-operations

#axapta #x #dynamics-365-operations

Вопрос:

Может ли кто-нибудь помочь мне устранить проблему CORS. Я успешно могу получить токен доступа, и с тем же токеном доступа я могу перейти по URL-адресу конечной точки OData для получения результата с помощью postman, но в чистом приложении JavaScript я не могу его получить. В консоли разработчика говорится о проблеме CORS. Кто-нибудь может предложить, как это исправить. Возможно ли это и с использованием модуля финансов и операций.

Я серьезно не хочу создавать прокси-приложение в .NET и вызывать конечные точки через этот код приложения. Я хочу прямой вызов конечной точки OData.

введите описание изображения здесь

Спасибо

Комментарии:

1. Вы сталкиваетесь с этой проблемой только локально или даже при развертывании в средах разработки / разработки / разработки? Локально вы можете обойти это, добавив расширения в свой браузер, которые будут добавлять заголовки CORS к каждому запросу, тем самым заставляя браузер полагать, что сервер в порядке с обслуживанием запроса.

2. Спасибо за ответ. Я еще не развернул приложение Javascript в App Service на портале Azure, но я использовал ngrok для публикации приложения в internet, и ngrok предоставил мне уникальный домен. При использовании домена это то же поведение, что и у локального хоста. Я также попытался установить расширение для CORS в Chrome, но это не помогло. Я использовал это расширение chrome.google.com/webstore/detail/allow-cors-access-control /…

3. Обычно серверы настроены на прием запросов только от набора доменов. Я считаю, что добавление этого расширения должно было сработать. Я использую его для своей локальной разработки. Просто проверяю, вы также включили расширение после его установки? Значок должен быть красочным, а не серым.

4. У меня аналогичное требование, и я настроил сервер nginx, на котором обслуживается мое приложение, также в качестве прокси-сервера для запросов к серверной части. Итак, мое приложение попадает в локальную конечную точку, которая перенаправляет запрос на фактический серверный сервер. Вам не нужно писать полноценное приложение, чтобы действовать в качестве прокси. Я не уверен, что это можно сделать для вашего приложения.