python和JavaScript通信

 更新时间:2022年04月29日 09:14:26   作者:决战北京城  
这篇文章主要介绍了python和JavaScript通信,js和python是两种语言,js处理网页数据,python可作为服务端开发,两者通过websocket进行通信,下文具体操作内容需要的小伙伴可以参考一下
  • js和python是两种语言,js处理网页数据,python可作为服务端开发,两者通过websocket进行通信。
  • websocket是socket的封装,省去了通信上的HTTP协议转换上的麻烦.
  • 大中型项目推荐使用torando/Djiango平台,两个平台集成度较高,方便开发使用.

实验以发送html页面上的图片到服务器后端为例子.

服务端接收图片后,开启本地端口为10086的服务,等待前端的连接.服务把前端发的图像url存在本地文件car.bmp.

import asyncio
import websockets
import urllib.request
 
async def recv_user_msg(websocket):
    while True:
        url = await websocket.recv()
        urllib.request.urlretrieve(url,'car.bmp')
        await websocket.send('ok')
 
 
async def run(websocket, path):
    while True:
        try:
            await recv_user_msg(websocket)
        except websockets.ConnectionClosed:
            print("ConnectionClosed...", path)        
            break
       
if __name__ == '__main__':
    print("127.0.0.1:10086 websocket...")
    asyncio.get_event_loop().run_until_complete(websockets.serve(run, "127.0.0.1", 10086))
    asyncio.get_event_loop().run_forever()

缺少module直接pip install安装解决.

pip install websockets
pip install urllib

在页面上嵌入img标签,连接服务端,点击发送图片,图片发送至服务端,并且显示返回结果.

 <!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <title>测试Socket——ws://127.0.0.1:10086</title>
    
</head>
<body>
    <img id = 'img' src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1598273151875&di=2823d5f7c3aa5e075bd785572e3e1561&imgtype=0&src=http%3A%2F%2Fimage.9game.cn%2F2019%2F8%2F8%2F90082743.jpg"/>
    <button onclick = "send_img()">发送图片</>
<script  type="text/javascript">
        var socket;       
        var ws = new WebSocket("ws://127.0.0.1:10086/test");
        socket = ws;
        ws.onopen = function() {
            console.log('连接成功');
 
        };
 
        ws.onmessage = function(evt) {
            var received_msg = evt.data;
            alert('recv:' + received_msg + ' 发送完成');
        };
 
        ws.onclose = function() {
            s = '断开了连接'
            alert(s);
        };
       
        function send_img() {
            image = document.getElementById('img');
            socket.send(image.src);
        }
    </script>
</body>
</html>

到此这篇关于python和JavaScript通信的文章就介绍到这了,更多相关js和python通信内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python + selenium + crontab实现每日定时自动打卡功能

    Python + selenium + crontab实现每日定时自动打卡功能

    这篇文章主要介绍了Python + selenium + crontab实现每日定时自动打卡功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python列表创建与销毁及缓存池机制

    Python列表创建与销毁及缓存池机制

    这篇文章主要介绍了Python列表创建与销毁及缓存池机制,文章基于python展开对列表创建与销毁内容的展开,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 深入理解Python中装饰器的用法

    深入理解Python中装饰器的用法

    装饰器的使用是Python的高级技巧之一,通过Decorator装饰器能够带来函数式编程中所需的很多特性,这里我们就来跟随文章一同深入理解Python中装饰器的用法,需要的朋友可以参考下
    2016-06-06
  • python3使用tkinter实现ui界面简单实例

    python3使用tkinter实现ui界面简单实例

    使用tkinter创建一个小窗口,布置2个按钮,一个btn关闭窗口,另一个btn用于切换执行传入的2个函数,简单的小代码,大家参考使用吧
    2014-01-01
  • 对Python闭包与延迟绑定的方法详解

    对Python闭包与延迟绑定的方法详解

    今天小编就为大家分享一篇对Python闭包与延迟绑定的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python实战之生成有关联单选问卷

    Python实战之生成有关联单选问卷

    这篇文章主要为大家分享了一个Python实战小案例——生成有关联单选问卷,并且能根据问卷总分数生成对应判断文案结果,感兴趣的可以了解一下
    2023-04-04
  • 使用Python 文件读取的多种方式(四种方式)

    使用Python 文件读取的多种方式(四种方式)

    这篇文章主要介绍了Python 文件读取的4种方式,主要有直接打开就读方式,用read()打开,用readines()以及用readline()方式,每种方式通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • 打包python 加icon 去掉cmd黑窗口方法

    打包python 加icon 去掉cmd黑窗口方法

    今天小编就为大家分享一篇打包python 加icon 去掉cmd黑窗口方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python实现数据库编程方法详解

    Python实现数据库编程方法详解

    这篇文章主要介绍了Python实现数据库编程方法,较为详细的总结了Python数据库编程涉及的各种常用技巧与相关组件,需要的朋友可以参考下
    2015-06-06
  • Pytorch反向求导更新网络参数的方法

    Pytorch反向求导更新网络参数的方法

    今天小编就为大家分享一篇Pytorch反向求导更新网络参数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论