Perl
Perl
Call a JavaScript Function Returning a String
See more JavaScript Examples
Demonstrates how to call a JavaScript function that returns a string.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This is the JavaScript function we'll call:
# function greet(name) {
# return "Hello, " + name + "!";
# }
$sbScript = chilkat::CkStringBuilder->new();
$sbScript->Append("function greet(name) { return \"Hello, \" + name + \"!\"; }");
$js = chilkat::CkJs->new();
$result = chilkat::CkJsonObject->new();
$result->put_EmitCompact(0);
# Call Eval to add the function to the context's global object
$success = $js->Eval($sbScript,$result);
if ($success == 0) {
# Examine the result for an exception.
print $result->emit() . "\r\n";
# Also examine the LastErrorText.
print $js->lastErrorText() . "\r\n";
exit;
}
# ------------------------------------------------------------------------------
# Call the function greet("Michael")
$funcCall = chilkat::CkJsonObject->new();
# 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 == 0) {
# Examine the result for an exception.
print $result->emit() . "\r\n";
# Also examine the LastErrorText.
print $js->lastErrorText() . "\r\n";
exit;
}
print $result->emit() . "\r\n";
# Output:
# {
# "type": "string",
# "value": "Hello, Michael!"
# }
$retval = $result->stringOf("value");
print $retval . "\r\n";
# Output:
# Hello, Michael!