ERROR

[Blazor] JSRuntime TypeError: Converting circular structure to JSON

HYOKYE0NG 2021. 10. 14. 07:46
반응형

TypeError: Convertinf circular structure to JSON

--> starting at object with constructor 'Window'

--- property 'window' closes the circle

at JSON.stringify (<anoymous>)

 

 

JSRuntime을 이용하여 new tab에서 새로운 razor 파일을 열려고 했을 때 발생한 error

private async Task XMLPage_Load(string dcn_no)
{
    string url = "/dcnlist/xml/" + dcn_no;
    await JSRuntime.InvokeAsync<Object>("open", url, "_blank");
}

await JSRuntime.InvokeAsync<Object>("open", url, "_blank")에서 오류 발생

 

찾아본 결과 JSRuntime은 호출결과를 문자화하려고 하기 때문에 발생하는 오류라고 한다.

따라서 다음과 같이 <Object>대신 <IJSObjectReference>를 넣어주면 해결된다.

private async Task XMLPage_Load(string dcn_no)
{
    string url = "/dcnlist/xml/" + dcn_no;
    await JSRuntime.InvokeAsync<IJSObjectReference>("open", url, "_blank");
}

 

반응형