在React中使用IFrame - 使用后HTTP请求

时间:2017-07-13 07:57:16

标签: javascript reactjs iframe

我需要在我的组件上的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响应?

0 个答案:

没有答案