我需要在我的组件上的iFrame中打开外部系统小部件。 我正在使用React作为UI代码。 外部系统向我提供了一个POST请求,其中包含我需要发送的表单数据有效负载,然后在响应中我得到状态代码302(暂时移动)并在响应头'location'中获取iFrame的URL SRC。 问题是它在POST调用后自动被调用,因此当我将它分配给组件props并从iFrame src调用它时,它是一个重复调用,我试图避免它。 在我从外部系统(jsp模拟器)获得的模拟器中,他们通过使用动作和目标iFrame填充表单属性来实现它 -
<form id="data_form" action="SubmitInit.jsp" target="payment_frame" method="post">
在我的情况下,我正在调用以下操作:
componentWillMount() {
this.setIFrameContext();
}
setIFrameContext() {
const {customerId} = this.props;
const parentDomain = 'http://localhost:8091';
const reqData = {customerId, parentDomain};
this.props.dispatch(this.paymentActions.loadAddInstrumentScreen(reqData));
}
和 -
render() {
const {responseURL} = this.props;
return (
<div>
<iframe
name="payment_frame"
id="payment_frame"
src={responseURL} />
<br />
</div>
);
}
我尝试将srcDoc与我从自动调用中获得的响应一起使用,但它没有用。 任何想法如何直接在iFrame中显示POST响应?