.NET 7.0和React Native无法与Axios调用配合使用

c2e8gylq  于 2022-11-17  发布在  React
关注(0)|答案(1)|浏览(158)

我的.NET api在.NET 6.x上运行得很好,但在.NET 7上却不运行。我可以用Thunder Client和Swagger发出http请求,但它在我的React Native(expo)应用程序上不运行。我也用Flutter尝试了一下,但没有运行。我收到以下错误:

Possible Unhandled Promise Rejection (id: 1):

我使用Axios来发出请求。我的appsettings.json看起来像这样:

...

"Kestrel": {
    "Endpoints": {
      "Http":{
        "Url": "http://localhost:5000"
      },
      "Https":{
        "Url": "https://localhost:5001"
      }
    }
  },

...

我的API调用如下所示:

const baseUrl = 'https://localhost:5001/api/users';
const headers = {
    "Content-Type": "application/json",
}

const [user, setUser] = useState(null);
    useEffect(() => {
        axios.get(baseUrl, {headers}).then((response) => {
            setUser(response.data);
            console.log(response.data);
        }).catch(function(error){
            console.log(error);
            console.log(error.response.data);
        });
    }, []);

我已通过Program.cs启用了CORS

...

builder.Services.AddCors(options =>
{
    options.AddPolicy(name: CorsPolicy,
    policy =>
    {
        policy.WithOrigins
        (
            "exp://192.168.0.41:19000",
            "http://localhost:19006",
            "http://localhost:19000"
        )
        .AllowAnyHeader()
        .AllowAnyMethod();
    });
});

...

app.UseCors(CorsPolicy);

...

这是.NET 7.0的一个问题还是只是巧合?我该如何修复它?

bz4sfanl

bz4sfanl1#

react-native将无法与localhost调用一起使用,请使用ngrok来处理此问题

相关问题