使用python cgi的Javascript没有给出预期的结果

时间:2013-03-05 14:59:54

标签: python cgi

在下面的Python CGI脚本中,我使用javascript函数来更改单击时的图片。但显然它似乎不起作用。我正在关注w3 schools js example的例子。所以我只想要符合,是否可以在Python CGI脚本中使用javascript。

如果必须在Python中完成相同的示例,那么该方法应该是什么。

#!/usr/bin/env python

import cgi

print """print "Content-type: text/html; charset=utf-8
<!DOCTYPE html>
<html>
<body>
<script>
function changeImage()
{
element=document.getElementById('myimage')
if (element.src.match("bulbon"))
  {
  element.src="../pic_bulboff.gif";
  }
else
  {
  element.src="../pic_bulbon.gif";
  }
}
</script>

<img id="myimage" onclick="changeImage()"
src="../pic_bulboff.gif" width="100" height="180">

<p>Click the light bulb to turn on/off the light</p>

</body>
</html>

"""

1 个答案:

答案 0 :(得分:2)

是的,你可以通过python CGI scrpit在HTML中发送javascript。您必须更改要发送到的字符串的初始部分:

print """Content-type: text/html; charset=utf-8\n\n
<!DOCTYPE html>
...

编辑添加以下评论:

您的代码中存在两个问题:

第1个,你必须删除部分'print'',因为你已经打印了一个字符串;

第二,它是CGI的规范,它必须有“\ n \ n”分隔标题,例如。 “content-type:text / html; charset = utf-8 \ n \ n”来自以下部分,例如: “......”,(事实上,当你有一个隐含的“\ n”时,仅添加一个......就足够了。)。