我的VueJS应用程序依赖于Java后端。该Java后端为所有REST端点提供数据。
当用户执行结帐时,后端将使用重定向URL进行响应并将用户重定向到该URL。就是这样完成的:
window.location.href = redirectUrl;
在外部页面上完成付款过程后,付款提供商会将用户重定向到return_url
,在这种情况下,这是我的VueJS前端。但是,外部系统将return_url
请求中的POST
直接发送到前端,由于没有端点侦听,无法在前端对其进行处理。
处理此问题的合适方法是什么?据我所知,VueJS没有任何可能接受POST请求。
答案 0 :(得分:1)
TLDR;任何外部支付网关系统或类似系统(如OAuth / OpenID)都有责任通过简单的浏览器重定向(通过HTTP 302和303)重定向到调用应用程序。因此,您应该要求/配置外部支付提供商以遵循标准工作流程。
从理论上讲,您永远都不会遇到此问题,因为POST通常是Ajax请求。假设您在外部付款页面上,并且当付款成功时,外部JS正在进行POST调用,因此付款页面应负责通过阅读响应重定向到适当的页面。
现在,第二种可能性是付款页面正在通过 POST 方法类型使用传统的 FORM提交,并以JSON或等效正文的形式返回响应。在这种情况下,您应该(在ui服务器上)拥有一个服务器端脚本,该脚本将侦听此调用,然后加载使用Vue构建的前端应用程序。
如果您的UI是通过Java后端提供的,那么拥有 Servelet 或 JSP 应该很简单。