node.js - 在 axios 和 Vue 中使用 cookie
问题描述
我创建了一个 Node.js 快速服务器,它使用“jsforce”提供的 SOAP 接口连接到 Salesforce.com。它通过“express-session”包使用会话 cookie 进行授权。到目前为止,它有一个用于登录的 POST 方法和一个用于执行简单查询的 GET。使用 Postman 进行的测试证明该服务器按预期工作。
作为该服务器的浏览器接口,我编写了一个使用 axios 执行 GET 和 POST 的 Vue 应用程序。我需要保存在登录 POST 期间创建的会话 cookie,然后将 cookie 附加到后续的 CRUD 操作。
我尝试了各种方法来处理 cookie。我尝试过的一种方法是在 POST 上使用 axios 响应拦截器
axios.interceptors.response.use(response => {
update.update_from_cookies();
return response;
});
函数“update_from_cookies”试图获取名为“js-force”的 cookie,但它没有找到它,尽管我知道它正在被发送
import Cookie from 'js-cookie';
import store from './store';
export function update_from_cookies() {
let logged_in = Cookie.get('js-force');
console.log('cookie ' + logged_in);
if (logged_in && JSON.parse(logged_in)) {
store.commit('logged_in', true);
} else {
store.commit('logged_in', false);
}
}
我还看到了向 axios 调用添加参数的各种建议,但这些也不起作用。
我将不胜感激有关如何使用 axios 或与 Vue 一起使用的类似包处理 cookie 的一些建议
谢谢
解决方案
这个问题已经解决。我对 axios 调用使用了错误的语法
正确的语法将 {withCredentials: true} 作为最后一个参数
this.axios.post(uri, this.sfdata, {withCredentials: true})
.then( () => {
this.$router.push( {name : 'home' });
})
.catch( () => {
});
推荐阅读
- c - C sscanf("%hhx") 读取一个 unsigned int 而不是 unsigned char
- npm - Should I duplicate "peerDependencies" in "dependencies" field of "package.json"?
- docker - 从 traefik 到 Vultr 的 DNS 挑战
- javascript - 两个按钮中的一个启动滚动,但它们都应该
- c - 如何在 C 运行时获取哪些有问题的源代码和行?
- oracle - 在Oracle中查找某个时期内帐户总和之间的差异
- linux - ubuntu 中的 systemd 文件未按预期运行
- stata - Stata中看似无关的回归后的利润率太慢
- css - JavaFX TabPane:如何制作梯形标签
- javascript - Firebase Firestore - 如何查询两个匹配的“WHERE”子句中的任何一个