如何在ReactNative Web视图中发送表单数据?

时间:2020-04-02 18:48:24

标签: react-native webview

我想在加载表单数据之前将表单数据值发送到我的webview网址。我从redux获取了这个值。

这是我尝试过的。但这不起作用

    let token=this.props.usersData ? this.props.usersData.token : null
    let currencyValue=this.props.usersData ? this.props.usersData.currencyValue :null
    let paymentValue=this.props.usersData ? this.props.usersData.paymentValue : null

    let formdata = new FormData();

    formdata.append("token", token)
    formdata.append("currencyValue", currencyValue)
    formdata.append("paymentValue", paymentValue)

    return (
        <WebView
            style={styles.webView}
            scrollEnabled={true}
            source=
            {{uri: 'https://myweb.com/tokenization?type=datasave&test=yes', 
            headers: { 'Content-Type': 'application/x-www-form-urlencoded', body:formdata }}}

        />

    );

请注意,道具值没有任何问题(那里没有空值)

1 个答案:

答案 0 :(得分:0)

您必须使用injectedJavaScript并传递一个字符串,请尝试以下操作:

return (
    <WebView
        style={styles.webView}
        scrollEnabled={true}
        source={{ uri: 'https://myweb.com/tokenization?type=datasave&test=yes' }}    
        injectedJavaScript={`window.token=${token}; window.currencyValue={currencyValue}; window.paymentValue=${paymentValue}`}
    />

);

然后在您的myweb.com中,可以使用window.tokenwindow.currencyValuewindow.paymentValue

来获取此变量。