Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 外部付款后重定向到带有POST的前端URL_Vue.js_Redirect_Callback - Fatal编程技术网

Vue.js 外部付款后重定向到带有POST的前端URL

Vue.js 外部付款后重定向到带有POST的前端URL,vue.js,redirect,callback,Vue.js,Redirect,Callback,我的VueJS应用程序依赖于Java后端。这个Java后端为所有REST端点提供数据服务 当用户执行签出时,后端用重定向url响应,并将用户重定向到该url。这样做很简单: window.location.href=redirectUrl 在外部页面上完成支付过程后,支付提供商立即将用户重定向到返回url,在本例中,该url是我的VueJS前端。但是,外部系统在POST请求中将return\u url直接发送到前端,该请求无法在中处理,因为没有端点侦听 处理这件事的合适方法是什么?据我所知,Vu

我的VueJS应用程序依赖于Java后端。这个Java后端为所有REST端点提供数据服务

当用户执行签出时,后端用重定向url响应,并将用户重定向到该url。这样做很简单:

window.location.href=redirectUrl

在外部页面上完成支付过程后,支付提供商立即将用户重定向到
返回url
,在本例中,该url是我的VueJS前端。但是,外部系统在
POST
请求中将
return\u url
直接发送到前端,该请求无法在中处理,因为没有端点侦听

处理这件事的合适方法是什么?据我所知,VueJS不可能接受POST请求

TLDR;任何外部支付网关系统或类似系统(如OAuth/OpenID)都有责任通过简单的浏览器重定向(通过HTTP 302和303)重定向到调用应用程序。因此,您应该要求/配置外部支付提供商遵循标准的工作流程

理论上,您永远不会遇到这个问题,因为POST通常是一个Ajax请求。假设您在外部支付页面上,当支付成功时,外部JS正在进行POST调用,因此支付页面应负责通过读取响应重定向到相应页面

现在,第二种可能性是支付页面使用传统的表单提交,通过POST方法类型,并以JSON或等效体的形式返回响应。在这种情况下,您应该有一个服务器端脚本(在ui服务器上),该脚本将侦听此调用,然后加载使用Vue构建的前端应用程序


如果您的UI由Java后端提供服务,那么它应该是一项简单的工作,即拥有一个ServeletJSP

,您可以通过重定向url来实现这一点!将一些参数添加到您的
return\u url
以检测您的账单,并从Vue.js模板页面上的url获取这些参数。读这篇文章,这正是我的理解。我们的UI是一个VueJS应用程序,也就是说,它不由后端提供服务,而是在用户的浏览器中完全以JS的形式运行。因此,通过POST提交表单肯定不起作用。我想我必须按照你的建议联系付款提供商。