Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python与JavaScript通信?_Javascript_Python - Fatal编程技术网

使用Python与JavaScript通信?

使用Python与JavaScript通信?,javascript,python,Javascript,Python,有没有办法将数据包从活动Python脚本发送到当前运行JavaScript的网页 我正在寻找的具体用法是,让网页能够使用JavaScript告诉Python脚本有关网页当前状态的信息,然后让Python脚本解释该数据,然后将数据发送回网页,然后JavaScript使用该数据决定执行哪个函数 这是一个视频游戏机器人(合法),所以它需要实时发生。我相当精通Python和web请求,但我刚刚开始学习JavaScript,所以希望解决方案在JavaScript方面不会太复杂 编辑:我想实现这一点的一种方

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

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

这是一个视频游戏机器人(合法),所以它需要实时发生。我相当精通Python和web请求,但我刚刚开始学习JavaScript,所以希望解决方案在JavaScript方面不会太复杂


编辑:我想实现这一点的一种方法是让Javascript写入一个Python脚本也可以读写的文件,但是快速的google搜索表明Javascript在文件I/O方面非常有限。有什么方法可以实现这一点吗?

出于安全原因,浏览器中的javascript通常仅限于与加载它的站点通信


考虑到这一点,这是一个AJAX调用,一个非常标准的操作。

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


请注意,XMLHttpRequest API将只允许向同一服务器发送请求,或者只允许返回适当的访问控制allow Origin头的请求。

听起来Javascript只发送信息,不接收任何信息。那样的话,你很幸运。我猜您也在同一台机器上运行Javascript和Python

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

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


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

相关(几乎重复)您需要一个websocket来完成此任务。AJAX调用?你能详细说明一下吗?对不起,这不准确。我需要Python能够向JavaScript发送信息,以便JavaScript根据Python处理的信息执行函数。然后,您可以使用
json.dumps
在Python中对数据进行编码,并使用
web.header
Access Control Allow Origin
头添加到响应中,然后在浏览器中,使用
JSON.parse
读取响应。