有人可以向我解释这条线是如何工作的: https ://github.com/sveltejs/realworld/blob/master/src/routes/login/index.svelte#L13
const response = await post(
授权/登录, { email, password });
post
正在从 调用utils.js
,即:
实用程序.js
export function post(endpoint, data) {
return fetch(endpoint, {
method: 'POST',
credentials: 'include',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json'
}
}).then(r => r.json());
}
所以函数进入这里,然后获取提供的端点,即auth/login
.
这让我很困惑,因为auth/login
它不是端点,它是一个导出函数的文件,在auth/login.js
. 这第二个帖子功能是否auth/login.js
会自动调用?我也不确定它是从哪里(req, res)
传入的,因为我们只是从上面获取这个文件而不传递任何参数。
身份验证/login.js
import * as api from 'api.js';
export function post(req, res) {
const user = req.body;
api.post('users/login', { user }).then(response => {
if (response.user) req.session.user = response.user;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(response));
});
}
这是在 cookie 中设置用户的地方,我的代码目前没有这样做,并且会话在刷新时丢失。我试图了解如何在 Sapper 中保持会话。