svelte - 从 SvelteKit 页面调用服务器函数

标签 svelte sveltekit

我可能在这里遗漏了一些东西。我在这里阅读了 SvelteKit 核心概念文档 - https://kit.svelte.dev/docs其中包括路由、加载数据和表单操作。但是,我看不到一种明显的方法来简单地从 Svelte 页面上的按钮调用函数,向其传递“hello”之类的内容,然后让服务器上的函数以“world”之类的内容进行响应。

我发现有一些神奇的非 JavaScript 方法可以使用表单来执行此操作,以及从数据库加载数据的方法。

是否有任何工作示例展示如何将 hello world 这样的东西连接在一起?

最佳答案

我认为你没有捕获重点。

  1. 服务器函数应该在服务器端使用,您不应该能够从客户端访问它。您无法从客户端触发服务器功能。 SS 正在服务器上运行。客户端运行在用户的浏览器中。

  2. 如果您希望向服务器发送消息并获得响应,则必须发送请求(POST、GET ...)(如下所述)

  3. 这里一切都是基于 JS (TS) 构建的,我不确定你所说的没有 JS 是什么意思。

如果您想触发服务器功能并获得响应,您有多种选择。您可以创建一个名为/api/的文件夹,然后在此处添加端点文件夹,每个文件夹应该有一个 +server.js

其他选项是创建一个自包含端点,在常规路径文件夹中您可以创建 +page.server.js文件,然后在此处处理请求。

您可以使用 JS 的 fetch 方法,或者只是发布您的表单。但是使用 fetch 将为您提供一些很酷的功能。

可以在 youtube 上找到各种示例。我不确定是否可以在这里分享 YouTube 链接。所以去搜索吧。

关于svelte - 从 SvelteKit 页面调用服务器函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75033757/

相关文章:

javascript - 处理 Svelte 组件 Prop 的最佳方式

javascript - sveltekit:尽管 URL 已更改,但组件未被第二次呈现

javascript - 在 Svelte Action 上传递多个参数

svelte - SvelteKit 是否依赖于 NodeJS?

mongodb - SvelteKit 与 MongoDB ReferenceError : global is not defined

javascript - Svelte 应用程序不会在浏览器中呈现我的数据

javascript - Vue有什么用,它使开发人员可以在DOM元素上使用class属性?

svelte - 同时运行 2 个 Svelte 项目

node.js - 当后端位于 Docker 容器中时,SvelteKit SSR fetch()

node.js - Sveltekit docker 容器启动时出错