React Native возвращает сетевую ошибку при вызове API asp.net

Я пытаюсь вызвать API-интерфейс asp.net из родной реакции, но он всегда возвращает сетевую ошибку. Я настроил свою политику API Cors, чтобы принимать все источники, все методы и все заголовки. Я запускаю приложение React Native на своем телефоне ios, используя expo, я настроил URL-адрес на https, так как я прочитал http-запросы ios по умолчанию. Я попытался использовать localhost: {port} в качестве моего URL-адреса и IP-адреса моего сервера, и ничего не работает. Я застрял в этой проблеме в течение 3 дней и был бы признателен за любую помощь.

мой код С#:

builder.Services.AddCors(opt =>
            {
                opt.AddPolicy("CorsPolicy", policy =>
                {
                    policy.AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin();
                });
            });

            var app = builder.Build();

            // Configure the HTTP request pipeline.
            if (app.Environment.IsDevelopment())
            {
                app.UseSwagger();
                app.UseSwaggerUI();
            }

            //app.UseHttpsRedirection();
            app.UseCors("CorsPolicy");

            app.UseAuthentication();

            app.UseAuthorization();

            app.MapControllers();

            app.Run();

мой запрос на получение очень простой запрос на получение для целей тестирования

        [AllowAnonymous]
        [HttpGet("Get")]
        public async Task<ActionResult> Get()
        {
            return Ok("test");
        }

мой реагирующий нативный код для вызова метода get:

let getEmployees = () => {
    fetch("https://localhost:7287/get")
      .then((res) => {
        console.info(res.status);
        console.info(res.headers);
        return res.json();
      })
      .then(
        (result) => {
          console.info(result);
        },
        (error) => {
          console.info(error);
        }
      );
  };

здесь, в моем родном коде реакции, я использую localhost, но я также пытался использовать IP-адрес моего сервера, но все равно получаю отказ в сетевом запросе.

вот ошибка, которую я получаю от реакции родной

Network request failed
at node_modules\whatwg-fetch\dist\fetch.umd.js:541:17 in setTimeout$argument_0
at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:214:12 in _allocateCallback$argument_0
at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:112:14 in _callTimer
at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:357:16 in callTimers
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:417:4 in __callFunction
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:114:6 in __guard$argument_0
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:368:10 in __guard
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:113:4 in callFunctionReturnFlushedQueue

И последнее, что нужно отметить, это то, что все мои конечные точки API отлично работают в браузере, почтальоне и чванстве. Я даже попробовал их на простом проекте react.js, и они работают. Проблема возникает только в реактивном нативном проекте. Любая помощь будет принята с благодарностью.

Можете ли вы попробовать с ngrok.io?

dev404 09.12.2022 15:55

Вам нужно будет получить доступ к URL-адресу извлечения с вашего телефона. Проверьте это в браузере на телефоне.

James 09.12.2022 16:21

@dev404 ngrok сработал! Большое спасибо, если вы можете опубликовать это как ответ, чтобы я мог его одобрить, это было бы очень полезно.

ali amr 09.12.2022 23:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
93
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Можете ли вы попробовать с ngrok.io? Он сгенерирует URL-адрес, который вы можете использовать в своем приложении.

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