blazor是前后端分离吗(Blazor页面如何调用document.write)
blazor是前后端分离吗(Blazor页面如何调用document.write)@inject IJSRuntime jsRuntime在调用完支付宝接口之后,在调用:jsRuntime.InvokeVoidAsync("write" response.Body);response.Body就是支付宝返回的内容。
今天做支付宝接口的集成,提交后获得了一段form代码:
<form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?......">
<input type="submit" value="立即支付" style="display:none" >
</form>
<script>document.forms[0].submit();</script>
以前是用webform开发,直接调用JavaScript的document.write就好了。可是Blazor中没有document对象,该如何调用呢?
思路就是通过IJSRuntime来调用js函数。在www/site.js中,增加函数
function write(content) {
document.write(content);
}
然后在razor文件中,头部增加:
@inject IJSRuntime jsRuntime
在调用完支付宝接口之后,在调用:
jsRuntime.InvokeVoidAsync("write" response.Body);
response.Body就是支付宝返回的内容。