Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 10.0   10.1   10.2   10.3   10.4   10.5   11.0   11.1   11.2   11.3    Statistic    FMM    Blog  

JS.CallFunction

Calls a global function given the name with JSON data.

Component Version macOS Windows Linux Server iOS SDK
JavaScript 10.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "JS.CallFunction"; JSRef; Name; Parameters... )   More

Parameters

Parameter Description Example
JSRef The JavaScript reference number. $js
Name The name of the function. "test"
Parameters... JSON to pass as parameter.

Result

Returns JSON or error.

Description

Calls a global function given the name with JSON data.
Parameters are passed to the function. Please pass as many parameters in FileMaker as needed.
If the function needs more parameter, undefined values are used to fill up.
If the function needs less parameters, additional ones are dropped.
Returns the result of the function converted to a JSON value.

This function takes variable number of parameters. Pass as much parameters as needed separated by the semicolon in FileMaker.
Please repeat Parameters parameter as often as you need.

Examples

Define a function and call it:

Set Variable [ $js ; Value: MBS( "JS.New" ) ]
Set Variable [ $r ; Value: MBS( "JS.AddFunction"; $js; "adder"; "function (x,y) { return x+y; }" ) ]
Show Custom Dialog [ "Result" ; MBS( "JS.CallFunction"; $JS; "adder"; 3; 4 ) ]
Set Variable [ $r ; Value: MBS( "JS.Release"; $JS ) ]

Concat strings:

Set Variable [ $js ; Value: MBS( "JS.New" ) ]
Set Variable [ $r ; Value: MBS( "JS.AddFunction"; $js; "Concat"; "function (x,y) { return x+\" \"+y; }" ) ]
Show Custom Dialog [ "Result" ; MBS( "JS.CallFunction"; $JS; "Concat"; "\"Hello\""; "\"World\"" ) ]
Set Variable [ $r ; Value: MBS( "JS.Release"; $JS ) ]

Call a function:

If [ Length($$js) > 0 ]
    Set Variable [ $p ; Value: MBS( "JSON.CreateString"; test::Input) ]
    Set Field [ test::Output ; MBS( "JS.CallFunction"; $$js; "crc32"; $p ) ]
End If

See also

Release notes

  • Version 11.3
    • Changed JS.CallFunction and JS.SetGlobalProperty to not return an error for invalid JSON, but just take it as text for your convenience.
    • Added JS.List and JS.CallFunctionValues function.

Example Databases

Blog Entries

Created 7th December 2019, last changed 5th June 2021


JS.CF - JS.CallFunctionValues

Feedback: Report problem or ask question.




Links
MBS Xojo Plugins

Start Chat