Defines a backend method that can be called from the frontend.
The webMethod()
method is a wrapper used to export methods from backend code that can be called from the frontend.
The permissions
parameter is used to define which site visitors have permission to call the method produced by webMethod()
. Import the Permissions
enum from @wix/web-methods
to define the permissions.
The options
parameter contains the cache
object which allows you to temporarily store the return values from web methods on Wix's infrastructure. When there are significant updates made to your site's data, call Invalidate Cache to clear caches, ensuring your site remains up to date for your visitors.
Web methods must be defined in a file:
.web.js
extension when developing sites, or apps in Wix Blocks..web.ts
extension when developing apps using the Wix CLI.Name | Type | Description |
---|---|---|
permissions | Permissions | Permissions needed to call the method in frontend code. Permission options: - Permissions.Anyone : Any site visitor can call the method.- Permissions.Admin : Only site admins can call the method.- Permissions.SiteMember : Only site members can call the method. |
webFunction | Function | Method to wrap with webMethod() . This method must return serializable results. This method can be asynchronous. Note: You may need to elevate the permissions of API calls made in this method. |
options | Options | Web method options. |
options.cache | Cache | Criteria for caching the return value of the webFunction being passed. |
options.cache.tags | Array<string> | Required A list of tags used for categorizing and identifying cached return values. These tags are essential for managing and invalidating caches when necessary. |
options.cache.ttl | Number | Specifies the Time to Live (TTL) for cached return values, measured in seconds. This value indicates how long data remains in the cache before it is considered stale. Default: 604800 seconds (1 week). |
Function
The method specified in the webMethod()
call, wrapped with the webMethod()
method. This wrapped method always returns a promise that resolves to the response from the original method you provided.
Import the web method, then call it. For example:
Import the web method, then call it. For example: