【发布时间】:2012-08-14 09:50:14
【问题描述】:
我们有一个程序可以在实时环境或测试环境中运行。唯一的区别是测试环境上的 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 结果。到目前为止,我有:
import cgi
import os
import sys
import re
def DrawUI (self, short=False):
print '<br />'
print '<div class="box2">'
print '<table cellspacing=0 cellpadding=0 border="0">'
print '<tr>'
sTestMode = "test mode = %s" % ('<a href="javascript:GetTestMode()" >')
print 'sTestMode = ' + sTestMode + '<br />'
这会导致此代码后面的打印语句(甚至可以是print 'hello world')变成一个链接,如果我点击它,就会显示浏览器中 JavaScript 函数的正确返回值。
如何让sTestMode 包含返回值(无需用户交互)?
【问题讨论】:
-
你使用框架吗?打印出来的字符串如何到达浏览器?
-
@Fabian:我是一个编辑继承代码的完整新手,所以我不确定。我不认为我们使用框架(只是检查导入)。除了这里所说的,我不知道打印的字符串是如何到达浏览器的。我们有一个存放 Python 文件的文件夹,并且页面在我们公司的 Intranet 中立即可见。
-
可能是带有 mod_python 或 mod_wsgi 的 Apache 吗?它在您正在编辑的文件的顶部导入了哪些模块?你能把它们放在你的问题中吗?您应该真正弄清楚您在使用什么并让我们知道,以便我们能够正确响应。无论如何,您需要的是通过 XMLHttpRequest 对象提交表单或 Ajax 调用。
-
我打算使用 jQuery AJAX 提出同样的建议 - ryanfunduk.com/web-dynamism-1
-
感谢您的回复。我只是还没有这些问题的答案。但是我有一个solution 来解决我的特定原始问题,所以我不再需要这个“解决方法”。
标签: javascript python html