给你们一个关于事物的概括视图,我在这里:情况是这样的,我有2个服务器端脚本,我想运行。
python程序/脚本,不断喷出一些数字
根据该python脚本的输出,javascript脚本将在网页上执行某些操作(例如,更改背景颜色,显示警告消息,更改一些文本)
我研究了对我以前帖子的回复,并发现我想要完成的事情或多或少都是由json完成的。据我所知,json将“程序特定”变量转换为更“标准或一般或全局”的格式。 因此,现在有两种不同的程序可以相互“交谈”,因为它们现在使用相同的“语言”。
那么问题是,我如何真正促进他们的沟通?这些服务器端脚本之间的“手机”是什么?他们甚至需要一个吗? 谢谢你!答案 0 :(得分:2)
如果我理解你在问什么,那么“手机”就是TCP / IP。 javascript不是服务器端;它在客户端运行,并根据从服务器下载的json数据改变客户端浏览器显示的内容 - 在这种情况下由Python生成的数据。
这个问题提供了一个相关的例子,虽然它有点技术性:JSON datetime between Python and JavaScript
这是一个非常基本的教程,解释了如何使用python和javascript创建动态网页。它似乎没有使用json,但它应该让你熟悉基础知识。一旦你理解了那里的东西,使用json传输更复杂的数据应该是相当简单的。
http://kooneiform.wordpress.com/2010/02/28/python-and-ajax-for-beginners-with-webpy-and-jquery/
答案 1 :(得分:1)
我认为你的意思是:Python在Web服务器上,而Javascript正在客户端的Web浏览器中运行。
因为浏览器各不相同(IE6很糟糕,Chrome很棒),人们发现有很多方法可以“破解”这个“手机”。这些技术称为AJAX和COMET技术。没有一个“手机”,但其中有一大堆!希望你能找到一个库来为浏览器选择合适的技术,你只需要担心这些消息。
Comet更难做,但让服务器将“推送”消息发送给客户端。
Ajax可以更容易 - 您只需定期从服务器“拉”消息。
从Ajax开始,然后看看彗星是否真的需要它。首先让客户端(javascript)发出“GET”请求,看看号码是否已经改变。
答案 2 :(得分:0)
我不知道Javascript或json,但...... 如果你曾经见过类似Unix的操作系统,你就会知道管道。喜欢program1 | program2 | program3 ...为什么不用管道连接Python和Javascript程序?第一个写入stdout,下一个写入stdin。
答案 3 :(得分:0)
这可能不是您正在寻找的答案,如果没有链接到您以前的帖子,我没有太多可以继续,但仍然......
javascript是客户端。我可以用两种不同的方式解释你的问题...
您的python脚本正在您的计算机上运行,您希望脚本实际更改当前的浏览器窗口。
不太确定,但编写浏览器插件可能就是答案。
您的python脚本正在服务器上运行,并且由于脚本正在运行,您希望更改站点的显示以便查看人员。
在这种情况下,您可以在您的网站上使用ajax轮询(或类似)。让您的站点使用ajax轮询服务器,调用检查脚本输出的服务器方法(可能写入文件?),看看它是否已更改。
答案 4 :(得分:0)
当2个流程需要沟通时,他们需要决定表达事物的共同/共享方式以及交换这些事物的协议。
在您的情况下,由于其中一个进程是浏览器,因此选择的协议是http。因此浏览器需要对您的python进程执行http请求或常规http请求。
这个python进程需要以某种方式通过http。
公开有几种方法可以在python中构建Web服务器。你应该阅读这篇文章:http://fragments.turtlemeat.com/pythonwebserver.php作为一个快速启动。
完成此操作后,您的浏览器将能够向您的服务器发出HTTP GET请求,您的服务器可以使用字符串进行回复。
这个字符串可以是你喜欢的任何东西。然而,如果你的答案包含结构化数据,那么使用XML表示法或json表示法是一个很好的开始。
Json(代表Javascript对象表示法)在javascript中非常容易使用,这就是为什么许多人建议你选择这种表示法。
我希望这会对你有所帮助
Jéromewagner