![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Call a JavaScript Function Returning an ObjectSee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns an object.Note: This example requires Chilkat v11.4.0 or greater.
LOCAL lnSuccess LOCAL loSbScript LOCAL loJs LOCAL loResult LOCAL loFuncCall lnSuccess = 0 * This is the JavaScript function we'll call: * function getSettings() { * return { * theme: "dark", * notifications: true, * version: 1.0 * }; * } loSbScript = CreateObject('Chilkat.StringBuilder') loSbScript.Append("function getSettings() {") loSbScript.Append(" return {") loSbScript.Append(' theme: "dark",') loSbScript.Append(" notifications: true,") loSbScript.Append(" version: 1.0") loSbScript.Append(" };") loSbScript.Append("}") loJs = CreateObject('Chilkat.Js') loResult = CreateObject('Chilkat.JsonObject') loResult.EmitCompact = 0 * Call Eval to add the function to the context's global object lnSuccess = loJs.Eval(loSbScript,loResult) IF (lnSuccess = 0) THEN * Examine the result for an exception. ? loResult.Emit() * Also examine the LastErrorText. ? loJs.LastErrorText RELEASE loSbScript RELEASE loJs RELEASE loResult CANCEL ENDIF * ------------------------------------------------------------------------------ * Call the function getSettings() loFuncCall = CreateObject('Chilkat.JsonObject') * Create JSON specifying the function name and arguments * The function has no arguments, so we only specify the name. * { * "name": "getSettings", * } loFuncCall.UpdateString("name","getSettings") lnSuccess = loJs.CallFunction(loFuncCall,loResult) IF (lnSuccess = 0) THEN * Examine the result for an exception. ? loResult.Emit() * Also examine the LastErrorText. ? loJs.LastErrorText RELEASE loSbScript RELEASE loJs RELEASE loResult RELEASE loFuncCall CANCEL ENDIF ? loResult.Emit() * Output: * { * "type": "object", * "value": { * "theme": "dark", * "notifications": true, * "version": 1 * } * } * Examine the object's members ? "theme: " + loResult.StringOf("value.theme") ? "notifications: " + STR(loResult.BoolOf("value.notifications")) ? "version: " + STR(loResult.IntOf("value.version")) * Output: * theme: dark * notifications: True * version: 1 RELEASE loSbScript RELEASE loJs RELEASE loResult RELEASE loFuncCall |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.