调用www.example.com API时,React Native返回网络错误asp.net

nuypyhwy  于 2022-12-14  发布在  React
关注(0)|答案(1)|浏览(122)

我尝试asp.net从react native调用我的www.example.com API,但它总是返回一个网络错误。我已经配置了我的api cors策略来接受所有的源,所有的方法和所有的头。我正在我的ios手机上运行react native应用程序使用expo,我配置了https的url,因为我已经读取了ios默认情况下阻止http请求。我尝试使用localhost:{port}作为我的url和我的服务器的ip地址,但没有任何工作。我已经被困在这个问题上3天了,希望得到任何帮助。
我C#代码:

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();

我的get请求是一个非常简单的get请求,用于测试目的

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

我的react本地代码调用get方法:

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

在我的react本地代码中,我使用了localhost,但我也尝试使用我的服务器的ip地址,但仍然会出现网络请求失败的情况。
这是我从react native得到的错误

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端点在浏览器、postman和swagger上都能很好地工作,我甚至在一个简单的react.js项目上试过,它们都能工作,问题只发生在react原生项目上,任何帮助都将不胜感激。

wfveoks0

wfveoks01#

你能试试ngrok.io?吗它会生成一个url,你可以在你的应用程序中使用。

相关问题