首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在JavaScript文件中设置变量值

在JavaScript文件中设置变量值
EN

Stack Overflow用户
提问于 2010-07-03 14:21:34
回答 4查看 2.2K关注 0票数 1

我的服务器上有一个Python脚本和一个JS。在python脚本中,我希望将变量的值设置为.js文件中某个函数的输出。

这是可能的吗?如果是这样的话,我们该如何去做呢?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-03 14:48:53

作为Macha建议的替代方案( Ajax查询),您还可以动态创建Javascript文件。

当页面被加载时,javascript也被加载。页面中是javascript的URL,格式为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="mycode.js" TYPE="TEXT/JAVASCRIPT">

现在的诀窍是让服务器不再为静态文件"mycode.js“服务,而是为例如mycode.py的输出提供服务。因此,您的标记将如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="mycode.py" TYPE="TEXT/JAVASCRIPT">

python脚本可能看起来像(简化的):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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脚本:)

票数 4
EN

Stack Overflow用户

发布于 2010-07-03 14:24:58

这是不可能的,因为Javascript通常运行在客户端,而Python运行在服务器端。

如果它是需要在客户端运行的代码,那么让它向python脚本发送一个AJAX请求,其中包含您需要的结果。如果它不需要在客户端运行,我建议您用Python重写它。

票数 1
EN

Stack Overflow用户

发布于 2010-07-03 15:20:50

你可以简单地从你的python脚本打印javascript块...并在从外部脚本使用的那些块中设置变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script language="javascript">var myvalue="data";</script>

使用simplejson,你甚至可以打印数组之类的东西。

只需确保javascript文件中的代码在加载整个页面后调用的函数中,或者在页面末尾加载javascript文件即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3171768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文