关于Python CGI编程前后端数据传递问题

最近在做一个打印机项目。由于对前后端数据通信不太了解。就去网上搜了一下。感觉都不太容易懂。下面我就把自己掌握的方法进行简单的介绍。有错误希望大神指出,谢谢!

目的:希望在界面上某一个框能动态显示Python后台处理的数据(Python CGI编程)

做法如下:

       第一步:比如说你的界面有一个输入框代码如下   

 <input id="num" name="num" style="IME-MODE: disabled; WIDTH: 25%;

HEIGHT: 90%"  maxlength="5" size="14" name="amount" type="text" value="1"/>  

这个用来显示num的数量。而这个num的值是动态的,也就是框里面的数值是我们Python后台处理之后的值。

       第二步:在页面加载之前先加载js代码(也就是body代码之前)代码如下:

<script type="text/javascript">
        window.onload=function (){//页面加载
        var req = new XMLHttpRequest();
        req.open("GET","./getmfpnum.py",false);
        req.send(null);
        res = req.responseText;
        res_data = eval("("+ res + ")");
        Fenshu = res_data.fenshu;
    document.getElementById("num").value=Fenshu;
   }

这里的第四行就是我们的Python程序。在getmfpnum.py程序中返回一个JSON格式的数值。

js代码接收以后保存在res中。然后用eval去处理这个JSON数据,处理之后就可以提取出

相应的键值了。

最后一行代码就是把后台传过来数值处理之后赋值给HTML5代码里面的num 

这就就可以动态显示Python处理的数值了。(多个动态显示原理相同)

第三步:编写Python代码把处理好的数据传给js

程序名 : getmfpnum.py

代码如下:

import json

num_value = get_number()

json_num = {'num_value':num_value}

json_num_str = json.dumps(json_num)

print("Content-type: text/html\n")

print(json_num_str)

代码解析:第一行,导入模块

    第二行 得到一个参数 num_value

   第三行 创建一个字典,把得到的值传进去。

  第四行 把字典转化成str格式

第四行,五行。把处理好的str发给前台。

 

 

通过上面的步骤就可以动态显示界面数值了。前提是安装好CGI需要的web服务器。没有安装web服务器的可以自行安装。百度即可。CGI编程建议安装Apache

以上纯属自己手打。按照自己理解写的,本人菜鸟一个,希望各位大神多多指点。

如有雷同纯属巧合。谢谢

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值