Javascript变量作为tcl的参数

Javascript变量作为tcl的参数,javascript,html,tcl,Javascript,Html,Tcl,我正在运行一个TclHttp服务器,我想将一些java脚本变量传递到一个.tml文件中的tcl函数调用中 有点像这样: <html> ... <script> var myString = document.title; var result = [myNamespace::myFunction myString] </script> ... </html> ... var myString=document.title; var res

我正在运行一个TclHttp服务器,我想将一些java脚本变量传递到一个.tml文件中的tcl函数调用中

有点像这样:

<html>
...
<script>

var myString = document.title;

var result = [myNamespace::myFunction myString]

</script>
...
</html>

...
var myString=document.title;
var result=[myNamespace::myFunction myString]
...

这可能吗?我尝试将整个命令转换为字符串,并使用eval()或as函数调用它,我尝试使用ncgi::value和“”[],$,但没有任何效果

来回传递值的最简单方法是让JS将JSON文档发布到Tcl代码中,然后Tcl代码计算结果并将JSON文档发送回。JS有多个库可以处理其方面的事情(我对使用jQuery处理这类事情有一些经验),而在Tcl方面,Tcllib和看起来正是如此。

不,这是不可能的。没有复杂的RPC结构也不行。(即使这样,您也必须确定哪一方是主机(您可以让客户端在服务器上调用您的函数,或者让服务器在客户端上调用函数).Ohh,还有安全问题。如果您让客户端在服务器上调用
exec
,那么就结束了。需要RPC结构的部分是什么?调用函数还是传递参数?因为调用函数已经在tcl服务器上起作用了。当客户端需要函数的结果时调用函数传递客户端值时执行。在执行
var mystring=…
之前,您不能调用函数。但您不能计算脚本,因为必须在
var result=…
之前计算函数。鸡/蛋问题。唯一的解决方案是使用某种RPC在服务器上调用您的函数(并传递myString值)当客户端知道myString的值时。RPC内容通常涉及AJAX,但在JS中等待结果是不可能的。Tcl有协程,JS没有。@Johannes这是一种安全解释器(与会话相关联的)需要做的事情是的。@donalwellows当然可以。但即使是安全的interp也可以使用类似于
if的指令使单线程应用程序停止{(1)我如何将JSON文档发布到tcl代码中?我阅读了您的链接,但我并不是从litte代码片段中真正了解到的。如果有一个完整的示例,即使只有一个JS/HTML文件和一个tcl文件,也会非常感谢。