我的服务器上有一个Python脚本和一个JS。在python脚本中,我希望将变量的值设置为.js文件中某个函数的输出。
这是可能的吗?如果是这样的话,我们该如何去做呢?
谢谢!
发布于 2010-07-03 14:48:53
作为Macha建议的替代方案( Ajax查询),您还可以动态创建Javascript文件。
当页面被加载时,javascript也被加载。页面中是javascript的URL,格式为
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="mycode.js" TYPE="TEXT/JAVASCRIPT">
现在的诀窍是让服务器不再为静态文件"mycode.js“服务,而是为例如mycode.py的输出提供服务。因此,您的标记将如下所示
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="mycode.py" TYPE="TEXT/JAVASCRIPT">
python脚本可能看起来像(简化的):
var_value = "whatever you want the variable to be"
jsfile = open("myscript.js", "rb")
for line in jsfile:
print line.replace("$MYVAR$", var_value)
jsfile.close()
简而言之,您拥有当前的js文件,但可以将其用作python脚本的模板。您可以使用replace将变量替换为其值。
这可能不是最优雅的解决方案,但它应该可以工作,而且也不难理解。
不要忘记,您的服务器应该知道如何处理python脚本:)
发布于 2010-07-03 14:24:58
这是不可能的,因为Javascript通常运行在客户端,而Python运行在服务器端。
如果它是需要在客户端运行的代码,那么让它向python脚本发送一个AJAX请求,其中包含您需要的结果。如果它不需要在客户端运行,我建议您用Python重写它。
发布于 2010-07-03 15:20:50
你可以简单地从你的python脚本打印javascript块...并在从外部脚本使用的那些块中设置变量。
<script language="javascript">var myvalue="data";</script>
使用simplejson,你甚至可以打印数组之类的东西。
只需确保javascript文件中的代码在加载整个页面后调用的函数中,或者在页面末尾加载javascript文件即可。
https://stackoverflow.com/questions/3171768
复制相似问题