H5微信支付所遇到的若干问题
栏目: JavaScript · 发布时间: 5年前
内容简介:最近做了个H5微信支付的需求,记录一下所遇到的一些问题。。在H5页面中,一开始我们是需要拿到微信用户的信息。因此需要调用获取用户的接口。在第一次调用该接口时,需要有一个授权的过程。没有拿到用户信息的话,就需要调取授权让用户确认。
最近做了个H5微信支付的需求,记录一下所遇到的一些问题。。
cookie 丢失的问题
在H5页面中,一开始我们是需要拿到微信用户的信息。因此需要调用获取用户的接口。
在第一次调用该接口时,需要有一个授权的过程。没有拿到用户信息的话,就需要调取授权让用户确认。
然后问题就来了~授权完成后,会发现后端是拿不到 cookie
信息。经过查询资料后发现原来还是跨域在作祟~
虽然我们解决了基本的跨域问题,即域名(origin)的不同。但是默认情况下跨域请求不会发送 cookie
.
这时前端需要设置 XHR
的 withCredentials: true
, 后端也需要配合设置 Access-Control-Allow-Credentials
即可。
以 axios
为例, withCredentials: true
与 data
平级:
const opt = { url: '/user', method: 'get', data: { name: 'jojo' }, withCredentials: false, } axios(opt).then(res=> console.log(res))
这种情况一般是前后端项目不在同一个域名的情况下,且需要带凭证的场景需要设置 Credentials
。
url未注册(url not registered)
随后微信弹了一下 url not registered
的错误,检查支付目录已经正确的被配置。
相关资料
前端:
后端:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。