Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用网站输入运行python脚本_Javascript_Jquery_Python_Html_Ajax - Fatal编程技术网

Javascript 使用网站输入运行python脚本

Javascript 使用网站输入运行python脚本,javascript,jquery,python,html,ajax,Javascript,Jquery,Python,Html,Ajax,我有一点webdev经验,刚刚开始学习python。我创建了一个python脚本,它接收一个参数,然后运行一个程序,并将打印语句打印到控制台中。我很好奇是否有可能把这个程序放在网页后面 i、 e.带有下拉菜单的网页,选择该选项并单击“转到”按钮。然后使用您选择的选项运行python脚本,您的报告将显示在页面上 我看过一些类似的帖子: 但它们似乎提供了非常不同的解决方案,人们似乎认为PhP的想法是不安全的。我也在寻找更明确一点的东西。我可以将python脚本更改为返回ajson或其他内容,而不只

我有一点webdev经验,刚刚开始学习python。我创建了一个python脚本,它接收一个参数,然后运行一个程序,并将打印语句打印到控制台中。我很好奇是否有可能把这个程序放在网页后面

i、 e.带有下拉菜单的网页,选择该选项并单击“转到”按钮。然后使用您选择的选项运行python脚本,您的报告将显示在页面上

我看过一些类似的帖子:


但它们似乎提供了非常不同的解决方案,人们似乎认为PhP的想法是不安全的。我也在寻找更明确一点的东西。我可以将python脚本更改为返回ajson或其他内容,而不只是打印语句。

在网页和python程序之间进行通信的一种非常常见的方式是将python作为一个脚本运行。实际上,python程序是一个单独的服务器,它使用GET和POST与网页进行通信

这种方法的一个优点是它将Python应用程序与web页面本身解耦。您可以通过在开发过程中直接向测试服务器发送http请求来测试它

Python包含一个,因此创建WSGI服务器非常简单。下面是一个非常简单的示例:

from wsgiref.simple_server import make_server

# this will return a text response
def hello_world_app(environ, start_response):
    status = '200 OK'  # HTTP Status
    headers = [('Content-type', 'text/plain')]  # HTTP Headers
    start_response(status, headers)
    return ["Hello World"]

# first argument passed to the function
# is a dictionary containing CGI-style environment variables 
# second argument is a function to call
# make a server and turn it on port 8000
httpd = make_server('', 8000, hello_world_app)
httpd.serve_forever()

感谢您的回复!你能解释一下从Javascript的角度看这会是什么样子吗?假设上面编写的代码名为“helloWorld.py”,并且在命令行中使用参数“hello”,那么如何传递脚本“hello”而在JS端接收脚本的响应呢?WSGI服务器只是在侦听http请求,它的返回值——不管它们是什么——将被发送以响应请求。这个问题包括了一系列在JS中实现这一点的不同方法的例子:我感谢你的帮助,但我仍然没有运气。我已经修改了python脚本,只需创建一个html页面。所以我需要做的就是弄清楚javascript的一面。我只需要向脚本传递一个字符串并运行它。(整个脚本,而不仅仅是其中的一个函数。例如:$python3 myscript.py inputStringWell您正在创建一个服务器,它将返回脚本数据作为结果(它可以是格式化的html或文本)。我上面链接的答案显示了如何发送请求,如果您必须打包数据,您可以将其放入请求的URL中,如
fetch)("http://you/url/here?param=somevalue“”
您需要编写服务器来解析查询字符串并在结果中处理它。