Reactjs 获取isn';t设置cookies
我有一个reactjs前端在rootReactjs 获取isn';t设置cookies,reactjs,wordpress,cookies,fetch,Reactjs,Wordpress,Cookies,Fetch,我有一个reactjs前端在root/上运行 在同一个域和服务器上,有一个Wordpress实例在默认Wordpress slug(/wp admin,/wp json等)下运行。我已经通过wpapi通过JWT对用户进行了身份验证 问题是我需要获得Wordpress默认的身份验证cookie,这样用户就可以在Wordpress和reactjs页面之间切换,而无需登录两次 我开始在登录时添加第二个fetch,它调用/login.php路由并将登录凭证作为表单数据发布。在Postman中,我得到了我
/
上运行
在同一个域和服务器上,有一个Wordpress实例在默认Wordpress slug(/wp admin
,/wp json
等)下运行。我已经通过wpapi通过JWT对用户进行了身份验证
问题是我需要获得Wordpress默认的身份验证cookie,这样用户就可以在Wordpress和reactjs页面之间切换,而无需登录两次
我开始在登录时添加第二个fetch,它调用/login.php
路由并将登录凭证作为表单数据发布。在Postman中,我得到了我需要的正文、标题和身份验证cookies:
如果我在react前端中获取此信息,我将无法获取cookie,并且在document.cookie
或开发工具中也未设置和提供cookie
这是react中的my fetch函数,它将仪表板页面作为响应数据和状态代码200返回:
async handleCookies() {
const formData = new FormData()
formData.append('log', this.state.mail)
formData.append('pwd', this.state.password)
await fetch('XXX.XXX.XXX.XXX/wp-login.php', {
method: 'POST',
body: formData,
credentials: 'include',
headers: { 'Content-type': 'application/x-www-form-urlencoded', Cache: 'no-cache' },
})
.then(response => response)
.then(cookies => {
alert(cookies)
})
.catch(err => console.log(err))
}
期望值:我期望收到cookies。结果是我没有以正确的方式传递凭据。现在一切正常
await fetch('XXX.XXX.XXX.XXX/wp-login.php', {
method: 'POST',
body: `log=${encodeURIComponent(EMAIL)}&pwd=${encodeURIComponent(PASSWORD)}`,
credentials: 'include',
headers: { 'Content-type': 'application/x-www-form-urlencoded', Cache: 'no-cache' },
})