今天做支付宝接口的集成,提交后获得了一段form代码:
<form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?......"> <input type="submit" value="立即支付" > </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就是支付宝返回的内容。