Javascript jquery提示给python脚本的变量值

Javascript jquery提示给python脚本的变量值,javascript,python,Javascript,Python,我有一个我认为很简单的问题,但我想不出解决办法。我有一个带有选项的javascript表单,当用户选择一个选项时,会提示他们输入一个值,如下所示: var integer_value = window.prompt("What is the integer value?", "defaultText") 然后我需要python脚本使用这个整数值。因此,如果在我的python脚本中说: integer_value = 2 它需要更改为用户在提示窗口中输入的任何值。下面的代码应该满足您的需要。也

我有一个我认为很简单的问题,但我想不出解决办法。我有一个带有选项的javascript表单,当用户选择一个选项时,会提示他们输入一个值,如下所示:

var integer_value = window.prompt("What is the integer value?", "defaultText")
然后我需要python脚本使用这个整数值。因此,如果在我的python脚本中说:

integer_value = 2
它需要更改为用户在提示窗口中输入的任何值。

下面的代码应该满足您的需要。也许有更好的方法可以做到这一点,但至少这种方法相当简单

下次当您有Web编程问题时,请告诉我们您使用的是什么服务器、什么框架,以及任何JavaScript内容,如jQuery或Ajax。然后发布一个小的代码演示,包括HTML/JavaScript和Python,我们可以实际运行,这样我们就可以准确地看到您所说的内容

首先,这里有一个小的HTML/JavaScript页面,提示用户输入数据并将其发送到服务器

发送到python.html


将数据发送到Python演示
函数get_和_send_int()
{
变量s,整数值,默认值=42;
s=window.prompt(“整数值是多少?”,默认值);
如果(s==null | | s=='')
{
警报(“取消”);
返回;
}
//发送前检查数据是否为整数
整数值=parseInt(s);
如果(整数值!=+s)
{
警报(s+'不是整数,请重试);
返回;
}
//发送它,就像它是一个GET请求一样。
location.href=“cgi bin/save_js_data.py?data=“+整数值;
}
“将数据发送到Python”演示
此页面使用JavaScript通过提示符从用户处获取整数数据
然后将数据发送到服务器上的Python脚本

单击此按钮输入整数输入并发送。

现在是接收数据并将其记录到文件中的CGI Python程序。一个合适的程序会有一些错误检查和数据验证,以及报告任何错误的方法。pythoncgi模块将使这项任务变得更容易一些,但严格来说这不是必需的

Web服务器通常在名为CGIBIN的目录中查找CGI程序,该目录通常用作程序的当前工作目录。CGI程序不会在普通终端中运行:它的stdin和stdout基本上连接到调用该程序的网页,因此它打印的任何内容都会发送回网页。并且(取决于所使用的请求方法),它可以通过标准输入从页面接收数据

下面的程序不读取stdin(如果您尝试,它将显示为挂起)。数据作为用于调用程序的URL的一部分发送给它,服务器提取该数据并将其放入CGI程序可以访问的环境变量中

保存_js_data.py

#/usr/bin/env python
''保存js_数据
从“send_to_python.html”接收数据的简单CGI脚本
并将其记录到一个文件中
'''
导入系统、操作系统、时间
#必须在HTTP头中使用CRLF
CRLF='\r\n'
#要将数据保存到的文件的名称。
outfile='outfile.txt'
def main():
#获取从网页发送的数据
query=os.environ['query\u STRING']
#从查询字符串中获取数字
键,val=query.split('='))
如果键==“数据”:
#我们确实应该检查val是否包含有效的整数
#将当前时间和接收到的数据保存到outfile
s=“%s,%s\n%”(time.ctime(),val)
将打开(输出文件“a+t”)作为f:
f、 书写
#将浏览器发送回参考网页
href=os.environ['HTTP\u REFERER']
s='内容类型:text/html'+CRLF*2
s+=''%href
印刷品
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
将此程序保存到硬盘时,请确保已授予其执行权限。因为您使用的是Flask,所以我假设您的服务器配置为运行Python CGI程序,并且您知道它在哪个目录中查找此类程序


我希望这有帮助

因此,您有一个Web服务器,它提供一个HTML页面,该页面使用JavaScript获取整数,您想知道如何将该整数发送到同一服务器上运行的Python CGI脚本。这是正确的吗?这是正确的,只是我没有使用CGI。在我前面提出的一个问题中,python脚本只创建了一个.txt文件。因此,当整数值改变时.txt文件也会改变。我只需要JavaScript将这个新的整数值发送到python脚本。也许我误解了你的意思,但是不使用CGI库也可以完成简单的CGI工作。我不知道Ajax或jQuery,但我知道“普通”JavaScript。我可以向您展示如何使用基本的CGI技术将数据从网页中的JavaScript函数发送到Python脚本。但是为什么要从提示符发送数据呢?您不能使用表单有什么原因吗?编辑以执行操作。我正在使用表单,当他们选择一个选项时,会收到提示。抱歉搞混了。我需要从提示符发送数据,因为我的python脚本创建了一个txt文件,然后用于显示功能。那么这是否意味着您希望在提交表单之前从提示符将数据发送到服务器?或者,如果整数值数据与其他表单数据一起发送到服务器,是否可以?嘿,感谢您的回复和所有帮助,我现在就试试您的答案,然后再回复您。没关系。你的问题激励我提高我的CGI技能;我已经有三四年没有玩过这种东西了。