【问题标题】:Call Python scripts thanks to JS or HTML借助 JS 或 HTML 调用 Python 脚本
【发布时间】:2018-03-30 00:40:59
【问题描述】:

有什么方法或技巧可以在 .js 文件(在 HTML 网页上调用)中调用 Python 文件(或函数)。

确实,我做了以下提示: - 配置我的服务器(它是 Apache)来运行 Python 文件(CGI) - 在以下结构上创建了一个 Python 文件:

print("<head>....</head>")
print("<body>....</body>")

但我想要的是在 Javascript 上调用一个 Python 文件(一个真实的,带有类、函数或其他东西)。有什么办法吗? (带有 Ajax 或其他东西的东西)

谢谢,克莱门特

编辑

这是我想要实现的目标:

我的结构:

1) 用于创建交互式聊天的 HTML/CSS/JS 文件

2) 用于处理聊天答案的 Python 文件

我的目标

在聊天中的每个帖子中,都会调用我的 .js 文件的 Javascript 函数。这个函数需要运行我的 Python 文件,而我的 Python 文件应该返回一些东西。 Python文件是纯Python文件,没有HTML或其他东西。

我做了什么

感谢 XAMPP,我创建了一个服务器。此外,正如我之前所说,我在每一行都尝试了 print("...") 的东西,但这远不是我想要的。

编辑 2

我已经尝试过使用 AJAX 的东西,例如:

$(".mytext").on("keyup", function(e){
    if (e.which == 13){
        var text = $(this).val();
        if (text !== ""){
            insertChat("you", text);              
            $(this).val('');
            $.ajax({
                type: "POST",
                url: "test.py"

    });
        }
    }
});

但我得到一个错误: 我得到的错误是在 HTML 控制台上,用法语:

Erreur d’analyse XML : mal formé
Emplacement : http://localhost/test/test.py
Numéro de ligne 1, Colonne 2 

所以英文:

Error of XML analysis : malformed
Path : http://localhost/test/test.py
Line 1, column 2

【问题讨论】:

  • 如果您想使用 python 生成网站,您最好的选择可能是使用已建立的 Web 框架之一,例如web2py 或 django
  • 我不想让 Python 生成网站,但我想调用我的 Python 文件(这是一个纯 Python 文件),这要归功于我的 javascript 文件。
  • 好吧,我想我现在明白了。我不想将此作为答案发布,但您可能想要研究的主题是 REST API 和 AJAX。您基本上想要做的是使用 python 构建一个 REST API,您可以通过 javascript 中的 AJAX 调用它。因此,您的 Python 代码将在服务器上运行,您可以通过 JavaScript 使用 AJAX 调用访问该服务器
  • 好的,我阅读了有关 Django 和 Ajax 的教程。我会在空闲时间试试这个。谢谢treegarden & neuhaus :)

标签: javascript python cgi


【解决方案1】:

JavaScript 在您的浏览器中运行。 Python 无法在您的浏览器中运行。 Javascript 代码可以创建对服务器的请求。在服务器上,您可以运行各种代码,包括 python。 python 脚本必须驻留在服务器上,并且必须相应地配置服务器(参见WSGI、CGI、“How to use python on the web”)。

编辑: 回答更新的问题:

您想要的是从 JavaScript 创建 XmlHttpRequests 到服务器上运行的 python 聊天程序。数据格式将是 JSON(不是 XML)。这种技术称为 AJAX(“异步 javascript 和 XML”)。我建议你阅读一些关于这些主题的教程。 Python 的 Web 框架称为 Django。

【讨论】:

  • 哦,好的。我是这个主题的新手。你是说在调用 HTML 网页之前我需要在服务器上运行我的 Python 文件?
  • 也许您可以扩展您的问题,告诉我们您想要实现的目标。
  • 是的,我会发布一个答案! :) 谢谢@neuhaus(编辑:我只是编辑我的帖子)
  • 已更新。 @neuhaus
  • 再次更新了我的帖子@neuhaus
猜你喜欢
  • 1970-01-01
  • 2016-08-01
  • 2012-08-16
  • 2023-01-12
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 2013-05-03
  • 1970-01-01
相关资源
最近更新 更多