使用Python与JavaScript通信?

时间:2014-04-08 23:41:44

标签: javascript python

有没有办法将数据包从活动的Python脚本发送到当前运行JavaScript的网页?

我正在寻找的具体用法是让网页能够使用JavaScript告诉Python脚本有关网页当前状态的信息,然后让Python脚本解释该数据,然后将数据发送回网页,然后JavaScript用来决定执行哪个功能。

这适用于视频游戏机器人(合法),因此需要实时进行。我非常精通Python和网络请求,但我只是进入JavaScript,所以希望解决方案在Javascript方面不会太复杂。

编辑:我想要实现这一目标的一种方法是让Javascript写入Python脚本也可以读取和写入的文件,但快速谷歌搜索说JavaScript在文件I /方面非常有限O.有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:0)

出于安全原因,浏览器中的javascript通常仅限于与其加载的网站进行通信。

鉴于此,这是一个AJAX调用,非常标准。

答案 1 :(得分:0)

您可以使用XMLHttpRequest API发出HTTP请求,Jquery使用$ .ajax和$ .get进行抽象。您还可以使用较低级别的Websockets网络API:

https://developer.mozilla.org/en-US/docs/WebSockets

请注意,XMLHttpRequest API仅允许对同一服务器的请求,或者返回适当的Access-Control-Allow-Origin标头的请求。

答案 2 :(得分:0)

听起来Javascript只会发送信息,而不会收到任何信息。在那种情况下,你很幸运。我猜你也在同一台机器上运行Javascript和Python。

在运行浏览器的计算机上运行Python Web服务器。这是一个简单的例子:

http://webpy.org/install

在浏览器中访问http://127.0.0.1:8080/后会显示消息Hello World!,您可以开始向网站添加更多地址,例如http://127.0.0.1:8080/report_datahttp://127.0.0.1:8080/report_event等。

然后,您的Javascript可以使用jQuery.ajaxXMLHTTPRequest向地址http://127.0.0.1:8080/report_data发出AJAX请求,并将信息作为GET参数传递。