![]() |
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
(C++) Call a JavaScript Function Returning a StringSee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns a string.Note: This example requires Chilkat v11.4.0 or greater.
#include <CkStringBuilder.h> #include <CkJs.h> #include <CkJsonObject.h> void ChilkatSample(void) { bool success = false; // This is the JavaScript function we'll call: // function greet(name) { // return "Hello, " + name + "!"; // } CkStringBuilder sbScript; sbScript.Append("function greet(name) { return \"Hello, \" + name + \"!\"; }"); CkJs js; CkJsonObject result; result.put_EmitCompact(false); // Call Eval to add the function to the context's global object success = js.Eval(sbScript,result); if (success == false) { // Examine the result for an exception. std::cout << result.emit() << "\r\n"; // Also examine the LastErrorText. std::cout << js.lastErrorText() << "\r\n"; return; } // ------------------------------------------------------------------------------ // Call the function greet("Michael") CkJsonObject funcCall; // Create JSON specifying the function name and arguments // { // "name": "greet", // "args": [ "Michael" ] // } funcCall.UpdateString("name","greet"); funcCall.UpdateString("args[0]","Michael"); success = js.CallFunction(funcCall,result); if (success == false) { // Examine the result for an exception. std::cout << result.emit() << "\r\n"; // Also examine the LastErrorText. std::cout << js.lastErrorText() << "\r\n"; return; } std::cout << result.emit() << "\r\n"; // Output: // { // "type": "string", // "value": "Hello, Michael!" // } const char *retval = result.stringOf("value"); std::cout << retval << "\r\n"; // Output: // Hello, Michael! } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.