簡體   English   中英

Blazor Webassembly API Call Children 無法評估

[英]Blazor Webassembly API Call Children could not be evaluated

我正在嘗試使用我的新 Blazor Webassembly 應用程序調用現有的 rest API,但是當我撥打電話時,我總是收到錯誤Children can not beevaluate 。 API 到達斷點,當我單步執行它時成功返回數據,我還可以查看是否在 postman 中調用它,但是 Blazor 調用失敗。 我認為這可能是類不匹配的問題,但是 TeamModel 的 class 結構是相同的,因為它現在是共享資源。 我是 Blazor 的新手,我確定我遺漏了一些東西,但可以提供一些指導或幫助。

private async Task FetchTeamData()
{
        try
        {
            List<TeamModel> teams;
            teams = await Http.GetFromJsonAsync<List<TeamModel>>("http://localhost:50663/api/team");
        }
        catch (Exception ex)
        {
            //Always blowing up with Children could not be evaluated here.
        }
}
[HttpGet]
public IActionResult GetAllTeams()
{
    List<TeamModel> teams = _teamRepository.GetAllTeams();

    return Ok(teams);
}

編輯:嗯,我已經把它縮小到項目讀取 API 的方式有問題。 我可以很好地調用其他托管 API。 我不確定它是因為它的本地主機還是其他問題,但是本地主機 API 方法都不會正確調用我總是從它那里得到相同的響應。

我剛剛遇到了同樣的問題,這是一個 CORS 問題。 只需在您的 API 服務器的 startup.cs 中添加類似這樣的內容

app.UseCors(policy => 
    policy.WithOrigins("http://localhost:5000", "https://localhost:5001")
    .AllowAnyMethod()
    .WithHeaders(HeaderNames.ContentType));

來源: https://github.com/dotnet/AspNetCore.Docs/blob/master/aspnetcore/blazor/common/samples/3.x/BlazorWebAssemblySample/Pages/CallWebAPI.razor

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM