python和js交互调用的方法


Posted in Python onJune 23, 2020

后台代码都是利用的

1.【get方式】使用jquery的get json与后台交互

前端js代码片段

var data= {
'a': $('input[name="a"]').val(),
'b': $('input[name="b"]').val()
}
$.getJSON($SCRIPT_ROOT + '/_add_numbers',data, function(data) {
$('#result').text(data.result);
$('input[name=a]').focus().select();
});

后端pthon代码如下

# ajax,Get方式与js交互(非表单)采用了flask框架@app.route('/_add_numbers')def add_numbers():
  """Add two numbers server side, ridiculous but well..."""
  a = request.args.get('a', 0, type=int)
  b = request.args.get('b', 0, type=int)
  log.info(a)
  log.info(b)  return jsonify(result=a + b)

2.【万能方式】使用jquery的ajax与后台交互,设置不同的参数,可以get也可以post

上面的例子用ajax方式,前端代码如下

var data= {
          'a': $('input[name="a"]').val(),
          'b': $('input[name="b"]').val()
        }
{#        $.getJSON($SCRIPT_ROOT + '/_add_numbers',data, function(data) {#}
{#          $('#result').text(data.result);#}
{#          $('input[name=a]').focus().select();#}
{#        });#}

        $.ajax({
          type: 'get',
          url: $SCRIPT_ROOT + '/_add_numbers',
          data: data,
          contentType: 'application/json; charset=UTF-8',
          dataType: 'json',
          success: function(data) {
            $('#result').text(data.result);
            $('input[name=a]').focus().select();
          },
          error: function(xhr, type,xxx) {
            alert('error ')
          }
        });

后台代码不便依然是

# ajax,Get方式与js交互(非表单)@app.route('/_add_numbers')def add_numbers():
  """Add two numbers server side, ridiculous but well..."""
  a = request.args.get('a', 0, type=int)
  b = request.args.get('b', 0, type=int)
  log.info(a)
  log.info(b)  return jsonify(result=a + b)

3.用ajax补充一个post方式的例子

前端js如下

function testmethod ()
    {
      alert('rabbit');
      var data = {
        "name": "test"
      }
      $.ajax({
        type: 'POST',
        url: '/login',
        data:data,
        contentType: 'application/json; charset=UTF-8',
        dataType: 'json',
        success: function(data) {
          $('#result').text(data.username);
        },
        error: function(xhr, type) {
          alert('error ')
        }
      });
    }

后台代码如下:

# ajax ,post方式与js交互(表单提交)
@app.route('/login',methods=['POST'])
def login():
  log.info('lalal')
  return jsonify(username='xixi',pwd='123')

这样就很轻松的实现了前端与后台的交互

本质上,前端与后端交互都是通过json完成的

至于表单提交,就不需要写js了,在form表单里面有有一个submit类型按钮,点击时,会自动提交到后台对应的路由上进行处理。对于表单提交,后台可以用

s=request.form.get('username',None)

来捕捉前端网页的值。但是如果是非表单提交,则需要用js获取值后,通过data参数传入到后端才行。

实例扩展:

python使用flask与js进行前后台交互的例子

flask与js进行前后台交互代码如下,后台给前端发数据:

python部分:

# -*- coding: utf-8 -*-
from flask import Flask,jsonify,render_template
import json
 
app = Flask(__name__)#实例化app对象
 
testInfo = {}
 
@app.route('/test_post/nn',methods=['GET','POST'])#路由
def test_post():
 testInfo['name'] = 'xiaoming'
 testInfo['age'] = '28'
 return json.dumps(testInfo)
 
@app.route('/')
def hello_world():
 return 'Hello World!'
 
@app.route('/index')
def index():
 return render_template('index.html')
 
 
if __name__ == '__main__':
 app.run(host='0.0.0.0',#任何ip都可以访问
   port=7777,#端口
   debug=True
   )

js部分:

<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>echarts</title>
 <style type="text/css">
  html,
  body {
   width: 100%;
   height: 100%;
  }
 
  body {
   margin: 0px;
   padding: 0px
  }
 
  div {
   float: left;
  }
 
  #container {
   width: 50%;
   height: 100%;
  }
 
  #info {
   padding: 10px 20px;
  }
 </style>
</head>
 
<body>
 <div id="container"></div>
 <div id="info">数据展示:</div>
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
	<script>
  $.ajax({
  url: "test_post/nn",
  type: "POST",
  dataType: "json",
  success: function (data) {
   console.log(data)
  }
  })
 
	</script>
 
</body>
 
</html>

到此这篇关于python和js交互调用的方法的文章就介绍到这了,更多相关python和js如何交互内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python3实现短网址和数字相互转换的方法
Apr 28 Python
自己编程中遇到的Python错误和解决方法汇总整理
Jun 03 Python
Python json 错误xx is not JSON serializable解决办法
Mar 15 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
Python unittest 简单实现参数化的方法
Nov 30 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
jupyter notebook 实现matplotlib图动态刷新
Apr 22 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
利用Python优雅的登录校园网
Oct 21 Python
Python requests用法和django后台处理详解
Mar 19 Python
virtualenv介绍及简明教程
Jun 23 #Python
python不同系统中打开方法
Jun 23 #Python
自学python用什么系统好
Jun 23 #Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 #Python
python为什么会环境变量设置不成功
Jun 23 #Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 #Python
解决tensorflow 释放图,删除变量问题
Jun 23 #Python
You might like
图书管理程序(二)
2006/10/09 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
javascript实现文字跑马灯效果
2020/06/18 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
利用python编写一个图片主色转换的脚本
2017/12/07 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
python 实现两个线程交替执行
2020/05/02 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
会计与审计毕业生自荐信范文
2013/12/30 职场文书
总账会计岗位职责
2014/03/13 职场文书
中国入世承诺
2014/04/01 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
高中社区服务活动报告
2015/02/05 职场文书
银行自荐信范文
2015/03/25 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸