Jquery 如何从HTML转到python,返回HTML,然后在处理脚本中更改变量?

Jquery 如何从HTML转到python,返回HTML,然后在处理脚本中更改变量?,jquery,python,html,ajax,processing,Jquery,Python,Html,Ajax,Processing,我的项目: 我想制作一个简单的网页(只在我的本地机器上运行-不连接到互联网),当你按下客户端的按钮时,它会运行一个python脚本,并返回歌曲的标题。然后,我想使用歌曲标题来更改处理脚本中的变量,该脚本将根据歌曲显示不同的可视化效果 到目前为止,我已经有了一个可以工作的python脚本(testPython.py),它可以识别一首歌曲并将标题作为字符串返回: from dejavu import Dejavu from dejavu.recognize import MicrophoneReco

我的项目:

我想制作一个简单的网页(只在我的本地机器上运行-不连接到互联网),当你按下客户端的按钮时,它会运行一个python脚本,并返回歌曲的标题。然后,我想使用歌曲标题来更改处理脚本中的变量,该脚本将根据歌曲显示不同的可视化效果

到目前为止,我已经有了一个可以工作的python脚本(testPython.py),它可以识别一首歌曲并将标题作为字符串返回:

from dejavu import Dejavu
from dejavu.recognize import MicrophoneRecognizer
main():
    config = {
        "database": {
            "host": "127.0.0.1",
            "user": "root",
            "passwd": "Password",
            "db": "dejavu",
        }
    }
    djv = Dejavu(config)
    song = djv.recognize(MicrophoneRecognizer, seconds=10)
    return song.get("song_name") #this is a string
我有一个html+AJAX脚本,可以调用python函数并基于它修改html元素,还有一个带有处理脚本的canvas元素

    $('button').click(function(){
      $.ajax({
         url: "testPython.py",
         success: function(response) {
             $("#test").css("color", "red");
         }
        });
    });

    .
    .
    .

    <canvas data-processing-sources="testProcessing.pde"></canvas>
我如何将这些放在一起,以便python/dejavu的结果影响处理脚本的输出


(我也知道这很混乱;除了python和html之外,我对这里的几乎所有东西都不熟悉,我高估了项目的复杂性)

请参阅本节的编写结合处理和JavaScript代码的文档

该指南准确地解释了如何混合Processing.js和JavaScript

具体来说,您有两个选择:要么让Processing.js代码调用JavaScript函数和变量,要么让JavaScript代码调用处理函数

最后,它都被转换成JavaScript,所以一切都是一样的


另外,请养成习惯,把你的问题分解成小块。您说过Python部分已经开始工作了,所以现在在一个更简单的示例中隔离它的其余部分,该示例使用您希望在处理过程中得到的JavaScript硬编码变量。试着把一个小例子放在一起(最好是在JSFIDLE或CodePen上),如果你被卡住了,可以在一个新问题中发布一个链接。祝你好运。

这其中哪部分不起作用?从python获取返回值并将其发送到处理脚本。当通过AJAX访问python代码时,我对如何使用返回值来更改处理代码中的内容感到困惑。答案是“在处理代码中使用它”部分,而不是“从AJAX获取返回值”部分。那么这是一个单独的问题。你需要把你的问题分成更小的步骤。第一步是将其从AJAX转换为JavaScript。另一个是将它从JavaScript转换为处理。但是我不确定你的问题是什么——你不能设置一个值或者从AJAX回调调用一个函数吗?
    void setup(){
    ...
    }

    void draw(){
    ...
    }