AJAX вызов .NET Core API не удается - PullRequest
0 голосов
/ 15 февраля 2019

Мой вызов AJAX для приложения .NET Core не работает.На localhost все работало нормально, однако после публикации приложения на моем сервере вызов AJAX получает ошибку политики CORS:

Заголовок 'Access-Control-Allow-Origin' содержит несколько значений '*, * ', но разрешен только один.

Когда я использую Почтальон, звонок успешен.Связана ли эта проблема со стороны сервера или со стороны клиента?

Я попытался проверить политику CORS, заголовки в AJAX, и все выглядит нормально

$.ajax({
  url: DashboardController + "GetLoggedInUser",
  type: "GET",
  "contentType": "application/json; charset=utf-8",
  dataType: 'json',
  beforeSend: function (xhr, settings) {
    xhr.setRequestHeader('Authorization', 'Bearer ' + window.localStorage.authorizationData);
  },
  success: function (data) {
    console.log(data);
    SetLoggedInUser(data);
    //HFPracticeData.Add("BackEndLogin", "");
    //HFPracticeData.Set("BackEndLogin", asd);
    //backendLogin.DoClick();
  },

Код на стороне сервера (при запуске).cs)

services.AddCors(options =>
{
  options.AddPolicy("AllowAllHeaders", builder =>
  { 
    builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
  });
});

CORS проблема не должна возникать.

1 Ответ

0 голосов
/ 15 февраля 2019

OK нашел решение: проблема была с заголовком ответа, так как состояния ошибки

    The 'Access-Control-Allow-Origin' header contains multiple values 
    '*, *', but only one is allowed.

'Access-Control-Allow-Origin' добавлялся несколько раз, поэтому я удалил 'Access-Control-Заголовок ответа Allow-Origin 'с сайта IIS Server.Теперь работает нормально.

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