目前我正在开发一个接受文件上传的 SvelteKit 应用程序。 在上传页面上,我有一个用于选择客户端的下拉列表和一个用于选择客户端位置的下拉列表。每个客户端可以有多个位置。
我只想显示所选客户端的用户位置。我不想查询所有位置,然后在浏览器中进行过滤,因为所有位置的总数可能非常大。
我的第一个想法是 SvelteKit 数据加载,但据我所知,服务器端加载函数无法访问客户端状态。因此,我无法根据所选客户端过滤客户端位置。
实现此目的的另一种方法是使用 API 路由来查询特定客户端的客户端位置。不过,这对我来说感觉不太惯用。
有什么我遗漏的东西或者更好的方法来实现这一点吗?
不知道这是否是最佳的,但这里有一个建议。
将流程分成两部分。首先有一个小表单,用户可以在其中选择客户,然后用户进入第二个表单,在其中可以选择其余的客户。例如,您可以对第一个表单使用 URL
/upload
,对第二个表单使用 URL /upload/CLIENT_ID
,或 /upload?clientId=CLIENT_ID
。
所描述的方法可以轻松地为禁用客户端 JS 的客户端工作。您可以在同一页面上使用单个表单来实现相同的功能,但是您需要编写更多逻辑来分别处理客户端 JS 禁用和客户端 JS 启用的情况。