Sample code for 30+ languages & platforms
Xojo Plugin

Call a JavaScript Function Returning a String

See more JavaScript Examples

Demonstrates how to call a JavaScript function that returns a string.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This is the JavaScript function we'll call:

// function greet(name) {
//     return "Hello, " + name + "!";
// }

Dim sbScript As New Chilkat.StringBuilder
success = sbScript.Append("function greet(name) { return ""Hello, "" + name + ""!""; }")

Dim js As New Chilkat.Js

Dim result As New Chilkat.JsonObject
result.EmitCompact = False

// Call Eval to add the function to the context's global object
success = js.Eval(sbScript,result)
If (success = False) Then
    // Examine the result for an exception.
    System.DebugLog(result.Emit())

    // Also examine the LastErrorText.
    System.DebugLog(js.LastErrorText)
    Return
End If

// ------------------------------------------------------------------------------
// Call the function greet("Michael")

Dim funcCall As New Chilkat.JsonObject

// Create JSON specifying the function name and arguments

// {
//   "name": "greet",
//   "args": [ "Michael" ]
// }

success = funcCall.UpdateString("name","greet")
success = funcCall.UpdateString("args[0]","Michael")

success = js.CallFunction(funcCall,result)
If (success = False) Then
    // Examine the result for an exception.
    System.DebugLog(result.Emit())

    // Also examine the LastErrorText.
    System.DebugLog(js.LastErrorText)
    Return
End If

System.DebugLog(result.Emit())

// Output:
// {
//   "type": "string",
//   "value": "Hello, Michael!"
// }

Dim retval As String
retval = result.StringOf("value")
System.DebugLog(retval)

// Output:
// Hello, Michael!