python - 带有 python cgi 的 Javascript 未给出预期结果

标签 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>

"""

最佳答案

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

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

编辑以添加以下评论:

您的代码中有两个问题:

第一,您必须删除“print”部分,因为您已经在打印字符串;

第二,这是CGI的规范,它必须用“\n\n”分隔标题,例如。 “内容类型:text/html;charset=utf-8\n\n”来自以下部分,例如。 “...”(事实上,由于您有一个隐含的“\n”,因此再添加一个就足够了...)。

关于python - 带有 python cgi 的 Javascript 未给出预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15227018/

相关文章:

c - SOCK_STREAM 上的 Http 服务器 - 何时结束连接?

python - 如何通过调整权重来优化 PIL 逊相关系数?

python - Django 从字符字段迁移到整数字段?

python - 如何通过交互式 CLI 在 python 中编写登录脚本

c++ - 我想开始开发 CGI,但我对此很陌生

linux - 带 CGI 的 Shell 脚本适用于 bash 但不适用于 sh

python - 如何检索查询集对象中字段的值

python - 具有 Keras 数据形状问题的 LSTM 自动编码器

linux - cURL 不发送文件数据

perl - 从perl cgi动态输出json数据