H5微信支付所遇到的若干问题
栏目: JavaScript · 发布时间: 7年前
内容简介:最近做了个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
的错误,检查支付目录已经正确的被配置。
相关资料
前端:
后端:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
perl进阶
Randal L.Schwartz、brian d.foy、Tom Phoenix / 韩雷 / 人民邮电出版社 / 2015-10-1 / 69
本书是Learning Perl一书的进阶。学完本书之后,您可以使用Perl语言的特性编写从简单脚本到大型程序在内的所有程序,正是Perl语言的这些特性使其成为通用的编程语言。本书为读者深入介绍了模块、复杂的数据结构以及面向对象编程等知识。 本书每章的篇幅都短小精悍,读者可以在一到两个小时内读完,每章末尾的练习有助于您巩固在本章所学的知识。如果您已掌握了Learning Perl中的内容并渴......一起来看看 《perl进阶》 这本书的介绍吧!