如何在Python中获得这个JavaScript函数的返回值?

2024-10-01 00:34:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个程序可以在实时环境或测试环境中运行。唯一的区别是测试环境中的URL包含“/test/”。在测试环境中,某些函数会导致它切换到实时环境(当URL是硬编码时!),所以我正在努力解决这个问题。在

我用JavaScript创建了这个函数:

function GetTestMode()
{
    // If "/test/" exists in URL, keep it there (we are in test mode).
    var currentURL = document.URL;
    var sTestMode = "";
    if (currentURL.indexOf("/test/") != -1)
    {
    // test mode (according to URL)
      sTestMode = "test/";
    }
    return sTestMode;
}

这由JavaScript函数使用,并按预期工作。在

但是,大多数UI代码是用Python编写的(创建HTML)。所以我想用Python得到这个JavaScript结果。到目前为止,我已经:

^{pr2}$

这会导致此代码后面的print语句(甚至可以是print 'hello world')成为一个链接,如果我单击它,它将在浏览器中显示JavaScript函数的正确返回值。在

如何让sTestMode包含返回值(无需用户交互)?在


Tags: 函数代码intest程序url环境测试环境
1条回答
网友
1楼 · 发布于 2024-10-01 00:34:18

我假设您使用的是mod_python。在

下面是一个经过破解的示例,如何将Javascript变量发送到服务器。在

在Python中,使用cgi module

form = cgi.FieldStorage()
sTestMode = form.getfirst('sTestMode')
sTestMode = cgi.escape(sTestMode)  # Avoid script injection escaping the user input

在JavaScript中,使用JQuery(不确定这是否正确,如果有错误,也许JQuery专家可以修复它):

^{pr2}$

如果在实现Javascript版本时遇到问题,可以通过在浏览器中调用/url/to/your/script?sTestMode=something_funny来确保Python脚本是正确的。在

{a3}你应该怎么读。在

相关问题 更多 >