初始参数。https:/test.website.comForm?value=testing&key=。
根据用户的选择,我用下面的代码添加查询参数值key="some_value"。
const value = new URLSearchParams(this.props.location.search).get("value");
const key = new URLSearchParams(this.props.location.search).get("key");
if (key === "") {
this.props.history.push({
pathname: "/Form",
search: `?value=${value}&key=${key}`,
});
}
https:/test.site.comForm?value=testing&key=some_value。但在这之后,我有支付网关集成,在同一标签页中点击按钮将被重定向到支付页面,在成功信息后,它会重定向回父页面,并增加一个与支付相关的查询参数。这时,增加的密钥就不见了
即 https:/test.site.comForm?value=testing&key=&paymentStatus=Success。
支付网关最终控制你的用户在完成交易后会被重定向到哪里。听起来,在你的情况下,网关正在做一些神奇的事情来重定向用户回到他们来自的URL。
支付网关允许您(集成商)自定义他们被送回的网址是很常见的。Stripe接受的是 successUrl
在他们的客户端JavaScript客户端中。Adyen接受一个 returnUrl
在他们的支付流程中。你没有提到你正在使用的网关,但我怀疑它将有一个类似的功能。
如果他们没有--你就得靠魔法了。我建议确保 https:/test.site.comForm?value=testing&key=some_value。 url是使它所有的方式进入 浏览器的 的历史记录。您在这里显示的代码片段将其推送到组件的历史记录中,但不清楚该历史记录是否与我们的历史记录相同。浏览器的历史记录.